Chrome-Erweiterung: sendMessage vom Hintergrund zum Inhaltsskript funktioniert nicht
Ich weiß, die Frage wurde wiederholt aufgefordert, in unterschiedlicher Weise, aber ich habe versucht, gehen durch alle Antworten (hoffentlich habe ich nicht jemanden vergessen) und keiner von Ihnen arbeitete für mich.
Hier ist meine Erweiterung code:
manifest:
{
"name": "test",
"version": "1.1",
"background":
{
"scripts": ["contextMenus.js"]
},
"permissions": ["tabs", "<all_urls>", "contextMenus"],
"content_scripts" : [
{
"matches" : [ "http://*/*" ],
"js": ["jquery-1.8.3.js", "jquery-ui.js"],
"css": [ "jquery-ui.css" ],
"js": ["openDialog.js"]
}
],
"manifest_version": 2
}
contextMenus.js
function onClickHandler(info, tab) {
if (info.menuItemId == "line1"){
alert("You have selected: " + info.selectionText);
chrome.extension.sendMessage({action:'open_dialog_box'}, function(){});
alert("Req sent?");
}
}
chrome.contextMenus.onClicked.addListener(onClickHandler);
chrome.runtime.onInstalled.addListener(function() {
chrome.contextMenus.create({"id": "line1", "type": "normal", "title": "I'm line 1", "contexts":["selection"]});
});
openDialog.js
chrome.extension.onMessage.addListener(function(msg, sender, sendResponse) {
if (msg.action == 'open_dialog_box') {
alert("Message recieved!");
}
});
Den beiden Warnungen der hintergrund der Seite arbeiten, während die eine der content_script nicht.
Konsole die Meldung: Port-Fehler: es Konnte keine Verbindung aufbauen. Empfängerseite nicht vorhanden ist.
Wo ist mein Fehler?
InformationsquelleAutor der Frage Subway | 2013-01-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der hintergrund-Seite, die Sie aufrufen soll
anstatt
chrome.extension.sendMessage
als Sie derzeit tun.Den
chrome.tabs
Variante sendet Nachrichten an content-scripts, in der Erwägung, dass diechrome.extension
Funktion sendet Nachrichten an alle anderen extension-Komponenten.InformationsquelleAutor der Antwort apsillers