ver tools tiempo real modificar escribir dev depurar debug consola chrome javascript google-chrome-extension

javascript - tools - Recargar un entorno de ejecución de script de contenido de extensión de Chrome



modificar javascript en tiempo real chrome (1)

Por lo que puedo decir, no hay una forma automática de reinyectar secuencias de comandos de contenido, por ejemplo, durante una actualización de la extensión. Lo que puede hacer es encontrar todas las pestañas cuya url coincida con el patrón que necesita, y reinyectar mediante programación las secuencias de comandos de contenido utilizando chrome.tabs.executeScript .

Tenga en cuenta que este método requiere agregar un permiso para el mismo patrón de URL que el usado por su script de contenido.

Manifest.json:

"content_scripts": [ { "matches": [ "http://*.google.com/*" ], "js": [ "content_script.js" ] } ], "permissions": [ "tabs", "http://*.google.com/*" ]

Background.js:

chrome.runtime.reload(); chrome.tabs.query({ url: "http://*.google.com/*" }, function(tabs) { for(var i = 0; i < tabs.length; i++) { chrome.tabs.executeScript(tabs[i].id, { file: "content_script.js" }, function() {}); } });

Me gustaría imitar el efecto de window.location.reload() , pero solo para el "mundo aislado" en el que se ejecuta mi script de contenido. Es decir, eliminar todos los JS existentes, en particular las devoluciones de llamada y los enlaces de eventos. ¿Hay una buena manera de hacer esto?

Nota: chrome.runtime.reload() no funciona para esto; tiene el efecto de volver a cargar la extensión y el script de fondo, pero no vuelve a cargar las secuencias de comandos de contenido existentes hasta que el usuario se actualice.