Me gustaría hacer una extensión de Chrome que proporcione un nuevo objeto dentro de window
. Cuando una página web se visualiza en un navegador con la extensión cargada, me gustaría que window.mything
esté disponible a través de Javascript. El objeto window.mything
tendrá algunas funciones que definiré en la extensión, y estas funciones deben poder llamarse desde console.log
o cualquier archivo Javascript cuando la página se visualiza en un navegador con la extensión habilitada.¿Se puede modificar el objeto de ventana desde una extensión de Chrome?
que era capaz de inyectar con éxito un archivo JavaScript en la página mediante el uso de un Content Script:
var s = document.createElement("script");
s.src = chrome.extension.getURL("mything.js");
document.getElementsByTagName("head")[0].appendChild(s);
mything.js se parece a esto:
window.mything = {thing: true};
console.log(window);
Siempre que carga una página, veo el todo el objeto window
como espero que esté en la consola. Sin embargo, no puedo interactuar con el objeto window.mything
desde la consola. Parece que si el guión inyectado realmente no ha modificado el objeto global window
.
¿Cómo puedo modificar el objeto global window
desde una extensión de Chrome?
Eso es imposible. ¿Está viendo la consola correcta, se está ejecutando realmente la secuencia de comandos (inspeccione el documento y busque la etiqueta de secuencia de comandos/compruebe si hay errores de sintaxis)? El script ciertamente se ejecuta en el contexto de la página, y por lo tanto, 'mything' debe existir. –