Die Konsolen des Firefox
Manchmal kann die Lösung so einfach sein... Firefox schickt ja gerade die alten AddOns mit XUL & Co. nach und nach auf's Altenteil. Ab Firefox 57 ist die Unterstützung für den "alten Add-on-Typ" standardmäßig deaktiviert. Also eine gute Gelegenheit, das erste AddOn nach dem neuen WebExtension-Standard zu bauen.
Dieses AddOn soll zusätzliche Einträge ins Kontextmenu ergänzen. Soweit kein Problem, man muss in der manifest.json
die passenden Berechtigungen erteilen
"permissions": [
"activeTab",
"contextMenus"
]
und in einem Background-Script den Eintrag im Kontextmenu ergänzen
browser.contextMenus.create({
id: "id-of-menu-item",
title: "Title of the menu item",
contexts: ["list", "of", "applicable", "contexts"]
});
Dann noch, ebenfalls im Background-Script, den passenden EventListener
browser.contextMenus.onClicked.addListener((info, tab) => {
console.log("You clicked on menu item " + info.menuItemId);
});
Also mit Strg-K die Konsole geöffnet, den Eintrag im Kontextmenu angeklickt und ... keine Ausgabe in der Konsole? Warum?
Nach einigem Suchen bin ich darauf gestoßen, dass bei Firefox Konsole nicht gleich Konsole ist. Was ich als "die Konsole" kannte von der Entwicklung von JavaScript in Websites, ist nicht die einzige. Das ist die "Web-Konsole", die mit dem Tastaturkürzel Strg-K geöffnet wird. Es gibt aber auch die "Browser-Konsole", die mit dem Tastaturkürzel Strg-J geöffnet wird.
Wenn man in JavaScript in einer Website die Funktion console.log()
verwendet, schreibt sie in die Web-Konsole. Wenn man in einem AddOn die Funktion console.log()
verwendet, schreibt sie in die Browser-Konsole.
Popular Tags