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