Chrome-Erweiterung: Portfehler: Verbindung konnte nicht hergestellt werden. Empfangsende existiert nicht.

7

Beim Versuch, zwischen meinem Inhalts- und Hintergrundskript zu kommunizieren, erhalte ich folgende Fehler:

%Vor%

background.js

%Vor%

streamcloud.js

%Vor%

und meine manifest.json

%Vor%

Ich habe die Lösung gefunden, um eine background_page hinzuzufügen: "background.html" mit einer leeren background.html, aber da background_page seit manifest_version: 2 nicht unterstützt wird, kann ich das nicht verwenden.

    
Gumble 04.08.2012, 19:50
quelle

2 Antworten

20

sendMessage und onRequest sind nicht kompatibel .

Wenn Sie Chrome 19 und früher unterstützen möchten, verwenden Sie onRequest und sendRequest :

%Vor%

Verwenden Sie für Chrome 20 - 25 chrome.extension.onMessage und chrome.extension.sendMessage :

%Vor%

Verwenden Sie für Chrome 26 + chrome.runtime.onMessage und chrome.runtime.sendMessage .

Hinweis: Ab Chrome 26 werden die veralteten Methoden weiterhin unterstützt, wenn auch nicht dokumentiert. Wenn Sie eine Chance erhalten, aktualisieren Sie Ihre Erweiterung, um die neuen Methoden zu verwenden, um sicherzustellen, dass Ihre Erweiterung auch in Zukunft funktioniert.
Siehe diese Antwort , damit ein Code erstellt werden kann, der kompatibel ist Chrome 20 +.

    
Rob W 04.08.2012, 20:52
quelle
3

Anstelle von

%Vor%

Verwenden Sie

%Vor%

Da Sie sendMessage und nicht sendRequest verwenden.

Die Nachrichtenanalyse wurde in der neuen Chrome-Version aktualisiert. sendRequest und onRequest werden veraltet. Es wird empfohlen, sendMessage und onMessage zu verwenden.

Lesen Sie die Dokumentation für die Nachrichtenanalyse zwischen Inhaltsskript und Hintergrund .

    
Udbhav 04.08.2012 20:51
quelle