2016-03-22 4 views
-1

Im Anschluss an das Google-Tutorial sende ich eine Nachricht von einem Popup-Skript an ein Inhaltsskript. Die Nachricht geht richtig, aber wenn ich rufe die Antwort Rückruf ich die folgende Fehlermeldung erhalten:Wie kann ich eine Nachricht zwischen dem Popup-Fenster der Chrome-Erweiterung und dem Inhaltsskript senden?

Attempting to use a disconnected port object 

Dies ist popup.js:

chrome.tabs.query(
    { active: true, currentWindow: true }, 
    function(tabs) { 
    chrome.tabs.sendMessage(
     tabs[0].id, 
     { greeting: "hello" }, 
     function(response) { 
     console.log(response); 
     }); 
}); 

Dies ist content.js:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
    sendResponse('goodbye'); // <- Error here 
    }); 

Wie kann ich diese Nachricht senden und die Antwort zurück erhalten?

Antwort

0

Dies erwies aufgrund einer Warnung auf der Content-Seite zu sein, aus der das Popup-Fenster zu schließen verursacht. Dies wiederum unterbricht die Verbindung zwischen dem Popup und dem Inhaltsskript.

-1

In diesem Beispiel wird das Senden einer Nachricht an das Inhaltsskript auf der ausgewählten Registerkarte veranschaulicht.

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
    chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) { 
    console.log(response.farewell); 
    }); 
}); 

Referenz Link

+0

Ich sagte bereits, dass das funktioniert. Ich frage nach dem Rückruf. – chris

Verwandte Themen