Chrome-Erweiterung sendMessage
Die Dokumentation hier scheint schrecklich: http://code.google.com/chrome/extensions/messaging.html
Ich will, dass mein Inhalt Skript, einfach um zu zeigen, eine pageIcon wenn es eine textarea-Komponente auf der Seite.
Meine content.js (mit jquery):
$('textarea').each(function() {
chrome.extension.sendMessage({greeting: "hello"}, function(response) {
console.log(response);
});
});
Dann meine background.js hat diese:
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
chrome.pageAction.show(sender.tab.id);
}
});
Werden sollte unglaublich einfach. Wenn es ein Textfeld, zeigen Sie das Symbol.
Ich habe versucht, alle Arten von Variationen von Beispiel-code und nichts funktioniert. Alles, was ich jemals bekommen ist:
Port-Fehler: es Konnte keine Verbindung aufbauen. Empfängerseite nicht vorhanden ist.
in der Konsole.
Irgendwelche Ideen, wo ich bin mache ich falsch?
Die Dokumentation für Chrome-Erweiterungen ist in der Regel ausgezeichnet. Du hast nicht richtig gelesen der Dokumentation: Event-Listener für
Ändern onMessage, onRequest und versuchen Sie es erneut, wenn der Fehler weiterhin besteht, dann müssen Sie schauen in der Konsole log von hintergrund-Skript (in Erweiterungen -> Inspizieren Sichten: *** es sollte Ihr Skript, jusc lecken und gehen Sie auf die Konsole, schau auf die Fehlermeldung)
chrome.extension.onmessage
erhalten nur einen parameter: Das Objekt mit request
, sender
, sendResponse
. (seit Chrome 20, onRequest
und sendRequest
ersetzt wurden, mit onMessage
und sendMessage
). Dies ist wahrscheinlich nicht die Ursache des Fehlers allerdings. Sind Sie sicher, dass die onMessage
Ereignis-listener angeschlossen ist (d.h. keine Fehler aufgetreten sind)?Ändern onMessage, onRequest und versuchen Sie es erneut, wenn der Fehler weiterhin besteht, dann müssen Sie schauen in der Konsole log von hintergrund-Skript (in Erweiterungen -> Inspizieren Sichten: *** es sollte Ihr Skript, jusc lecken und gehen Sie auf die Konsole, schau auf die Fehlermeldung)
InformationsquelleAutor Tom B | 2012-07-17
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie haben einen zusätzlichen geschweiften Klammer in den hintergrund-Skript.
sollte
InformationsquelleAutor ron