Ich versuche, eine Chrome-Erweiterung zu erstellen, die als Symbol in der Adressleiste angezeigt wird. Wenn sie angeklickt wird, wird contenteditable = true für alle Elemente auf der Seite festgelegt und beim erneuten Klicken auf contenteditable = false zurückgesetzt.
Allerdings stürze ich mich auf die erste Hürde ... Das Icon wird nicht einmal in der Adressleiste angezeigt.
Hier ist meine Manifest-Datei:
%Vor%und hier ist das Skript caret.js:
%Vor%Dies ist mein erster Versuch einer Erweiterung, also handelt es sich wahrscheinlich um einen Anfängerfehler, aber ich würde wirklich jede Hilfe oder Ratschläge zu schätzen wissen!
Ok, es stellte sich heraus, dass ich chrome.pageAction.show(tab.id);
verwenden musste, was bedeutete, dass ich die ID der aktuellen Registerkarte abrufen musste, was mit:
ABER Es stellt sich heraus, dass Sie chrome.tabs innerhalb eines Inhaltsskripts nicht verwenden können. Daher musste ich stattdessen zur Verwendung einer Hintergrundseite wechseln.
Meine Antwort auf diese andere Frage gibt die Lösung. Zu Ihrer Information: Das zweite Code-Problem in dieser Antwort ist auch für Ihren Code relevant: Sie möchten, dass das Symbol für alle Seiten angezeigt wird. Verwenden Sie daher browser_action und nicht page_action. Beides funktioniert, aber die Verwendung einer Seitenaktion auf jeder Seite widerspricht den Konventionen und sorgt für eine weniger konsistente Endbenutzererfahrung.
Dies ist seit der letzten Version nicht mehr möglich.
Chrome-Erweiterungsseiten-Aktion erscheint außerhalb der Adressleiste
Ich hatte ein ähnliches Problem, hier sind die Schritte, denen ich folgte, um es zu lösen:
Ich habe meine manifest.json
so geändert, dass sie Folgendes enthält:
Dann habe ich den folgenden Code in mein Hintergrundskript eingefügt:
%Vor%Die Dokumentation dazu finden Sie hier ... Ссылка
Tags und Links google-chrome google-chrome-extension