Estoy desarrollando una extensión que interactúa con un sitio web nuestro. La interacción se crea enviando mensajes y manejándolos.
A veces quiero abrir nuestro sitio web en modo incógnito y allí, la extensión no funciona. Me parece que los listeners en chrome.runtime.onMessage no se activan.
en mi contentScript.js tengo algo como
window.addEventListener( 'message', (event, r) => { //check for sender and type otherwise return; chrome.runtime.sendMessage(data); } ); La extensión crea una devtools_page , que carga un .html . en esa pagina tengo
chrome.runtime.onMessage.addListener(messageHandler) el controlador de messageHandler nunca se activa. Incluso puedo verificar si el oyente está allí con chrome.runtime.onMessage.hasListener(messageHandler) , que devuelve true .
Incluso cuando coloco el oyente en background.js (establecido en manifest.json ), este oyente nunca se activa.
Traté de poner "incognito": "split" en manifest.json pero luego el navegador se bloqueó por completo cuando abrí la página en la pestaña de incógnito. Para los permisos, tengo ["cookies", "tabs"] .
Actualización: habilité la extensión en modo incógnito en la página de configuración de extensiones
Actualización: como dije, al configurar "incognito": "split" , el navegador se bloquea. Lo reduje a mi contentScript.js que está cargado por el manifiesto "content_scripts" . Quité todo. Al cargar la página, el navegador no falla. Pero tan pronto como ejecuto window.addEventListener , el navegador falla cuando abro el sitio en una pestaña de incógnito
Actualización: en la windowAddEventListener hago un chrome.runtime.sendMessage(data) . Hago esto para que el sitio web pueda enviar la información necesaria a la extensión para mostrar los datos. Al eliminar chrome.runtime.sendMassage , el navegador no falla en el modo de incógnito con "incognito":"split"
Chrome bloquea extensiones en modo de incógnito,
Entonces, para probarlo, puede permitir que ciertas extensiones funcionen en modo incógnito,
Haga clic en el botón de menú en Chrome.
Vaya a Más herramientas > Extensiones.
En la nueva pestaña que se abre, desplácese por la lista para encontrar la extensión que desea habilitar mientras está de incógnito.
Haga clic en el botón "Permitir en incógnito".