Nachricht senden chrome-Erweiterung von einer web-Seite
Ich die Nachricht senden wollen, von der Konsole des Zufalls web-Seite, meine Google chrome-Erweiterung.
chrome.- Erweiterung.sendMessage scheint nicht zu funktionieren.
InformationsquelleAutor der Frage dilpreet023 | 2012-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut die offiziellen docsdie Sie verwenden sollten
postMessage
in den sender-undmessage
Ereignis-listener in den Empfänger.Hier ist ein Beispiel:
Ihrer website page.html
Content-Skript: (injiziert mit
chrome.tabs.executeScript(tabid, {code:...
)Hier
page.html
(das ist nicht ein Teil der Erweiterung) stellen, Nachrichten an sich selbst, die abgefangen und kontrolliert durch das content-Skript. Die Rückseite ist möglich durch ähnliche Mittel.Zur übergabe von content-script-Erweiterung, Sie haben zu verwenden eine der verfügbaren message-passing-Techniken.
Es sieht kompliziert aus und es ist etwas kompliziert, aber alle diese mumbo-jumbo ist sehr sicher.
InformationsquelleAutor der Antwort Silviu-Marian
Hier ist ein Zitat aus der neuesten http://developer.chrome.com/extensions/messaging.htmlEs ist viel einfacher für die Unterstützung dieser Art von feature-nun, hier ist, wie:
InformationsquelleAutor der Antwort hewigovens
Wechseln Sie in die JS-Ausführung Kontext Ihrer content-Skript mit der
<page context>
- Menü unten auf der einen Seite die Entwickler, JS-Konsole, dann verwenden Siechrome.runtime.sendMessage
und anderechrome.*
APIs genauso, als würden Sie in das content-Skript.InformationsquelleAutor der Antwort jaredjacobs
So zu erstellen, zu einem mehr konkreten Beispiel: es gibt Ein Problem mit
chrome.runtime.sendMessage(...)
Stil ist, dass Sie angeben müssen, pag sind Sie auf als externally_connectable die nicht nehmen, ein globaler Platzhalter wie "https:///". Also, wenn Sie wollen, dass die Fähigkeit, Sie zu verwenden habenpostMessage
Stil Kommunikation. Erfassen Sie die Nachricht aus dem Fenster in dencontentscript
dann aus dercontentscript
haben, können Sie senden Sie es an anderer Stelle (falls gewünscht, gerne diebackground.js
etc.)So, in der normalen web-Seite oder injiziert Quelle, die Sie einbetten in die normale Seite, aus Ihrer
contentscript.js
senden Sie eine Nachricht wie diese:ex, Sie könnte hinzufügen ein button wie dieser:
Dann zu erfassen, es in der contentscript.js und "senden an", um den rest der Erweiterung, die einzige Einschränkung ist, dass Sie nur wollen, um "select" - Nachrichten, die zu sein scheinen diejenigen, die Sie interessieren:
InformationsquelleAutor der Antwort rogerdpack
Zusätzlich zu @hewigovens , ich habe nicht genug Punkte, um einen Kommentar...
Ich erkläre @renatoargh und @sbichenko
Wenn senden einer Nachricht von einem Standard-web-Seite -
1) die Webseite muss in Anführungszeichen eingeschlossen werden, die im manifest. z.B.:
2) die background.js (hintergrund der Seite)
nimmt den Anruf mit onMessageExternal z.B. (Aufruf einer Erweiterung):
InformationsquelleAutor der Antwort AJ AJ