Bei oncommand soll stehen:
document.getElementById("AMPopup").openPopup();
Der Rest stimmt.
Der Code kann in einer eigenen function stehen, in diesem Fall hänge ihn am Ende des Skripts an.
Der Code kann auch ohne function bleiben und dann füge ihn nach diesen Zeilen (die Zeilennummern stimmen vielleicht nicht genau) ein:
Da lag ich ja fast richtig. Sieht jetzt so aus (mit den Zeilen davor und danach):
ExternalAppBtn.appendChild(ExternalAppPopup);
Appmenu.onpopupshowing();
// Menü mit Tastaturkürzel öffnen
let key = document.createXULElement('key');
key.id = 'key_AppMenuPopup';
key.setAttribute('key', 'A');
key.setAttribute('modifiers', 'alt');
key.setAttribute('oncommand', 'document.getElementById("AMPopup").openPopup();');
document.getElementById('mainKeyset').appendChild(key);
},
onpopupshowing: function() {
if (this._isready)
Alles anzeigen
Aber obwohl der key im keyset zu finden ist, passiert immer noch nichts, wenn ich Alt+A drücke. In dem Moment erscheint in der Konsole dieser Eintrag:
16:48:21.654 TypeError: document.getElementById(...) is null browser.xhtml:1:10 oncommand chrome://browser/content/browser.xhtml:1
16:48:23.390 Error: Invalid window ID: -1 ExtensionUtils.jsm