solucion net gratis err_cert_common_name_invalid depurar debugger como chrome activar javascript google-chrome google-chrome-extension

net - depurar javascript chrome



Extensión de Chrome: Error de puerto: no se pudo establecer la conexión. El extremo receptor no existe. (2)

Cuando trato de comunicarme entre mi script de contenido y de fondo, obtengo los siguientes errores:

Port error: Could not establish connection. Receiving end does not exist. Error in event handler for ''undefined'': Cannot read property ''message'' of undefined TypeError: Cannot read property ''message'' of undefined

background.js

function onRequest(request, sender, callbackFunction) { console.log("Me (BS) became this Message:" + request.message); sendResponse({message: request.message}) }; chrome.extension.onRequest.addListener(onRequest);

streamcloud.js

function contactBackground(nachricht){ chrome.extension.sendMessage({message: nachricht}, function(response) { console.log("The Background Script got the following Message: " + response.message); }); }

y mi manifest.json

{ "name": "InstantWatch - Dev", "manifest_version": 2, "version": "0.7", "permissions": ["tabs", "http://*/", "https://*/"], "background": { "scripts": ["background.js"] }, "browser_action": { "default_title": "InstantWatch", "default_icon" : "icon.ico" }, "content_scripts": [ { "matches": ["http://*/*", "http://*/*"], "js": ["jquery.js", "streamcloud.js"] } ] }

Encontré la solución para agregar una background_page: "background.html" con un background.html vacío, pero como background_page no es compatible desde manifest_version: 2, no puedo usar eso.


En lugar de

chrome.extension.onRequest.addListener(onRequest);

Utilizar

chrome.extension.onMessage.addListener(onRequest);

Dado que está utilizando sendMessage y no sendRequest.

El análisis de mensajes se ha actualizado en la nueva versión de Chrome. sendRequest y onRequest están en desuso. Se recomienda ir con sendMessage y onMessage.

Consulte documentos para el análisis de mensajes entre Content Script y Background .


sendMessage y onRequest no son compatibles .

Si necesita admitir Chrome 19 y onRequest anteriores , use onRequest y sendRequest :

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { // Warning: Chrome 19- [receiver] }); chrome.extension.sendRequest(message, optional_sendResponse);

Para Chrome 20 - 25 , usa chrome.extension. onMessage chrome.extension. onMessage y chrome.extension. sendMessage chrome.extension. sendMessage :

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) { // Chrome 20+ }); chrome.extension.sendMessage(message, optional_sendResponse);

Para Chrome 26+ , use chrome .runtime. onMessage chrome .runtime. onMessage y chrome .runtime. sendMessage chrome .runtime. sendMessage .

Nota: A partir de Chrome 26, los métodos obsoletos siguen siendo compatibles, aunque no documentados. Si tienes la oportunidad, actualiza tu extensión para usar los nuevos métodos, para asegurarte de que tu extensión funcionará en el futuro.
Vea esta respuesta para el código para crear un que sea compatible con Chrome 20+.