Actualmente estoy trabajando en una extensión de mozilla @ Firefox 98.0 (64 bits) y me cuesta entender algunos de los aspectos de una extensión de mozilla.
Mi código es bastante simple, estoy tratando de aplicar un detector de eventos a un elemento objetivo y aplicar algunas propiedades, sin embargo, las cosas no funcionan según lo previsto, ya que a menudo no lo hacen aquí en SO.
Cuando trabajo en mis propias páginas web creadas, el código se ejecuta sin problemas, pero tengo problemas (!) cuando intento aplicar la extensión a un dominio de Mozilla.
Aquí hay un ejemplo del código que estoy ejecutando en https://www.mozilla.org/
document.getElementsByClassName("mzp-l-content")[0].addEventListener("click", ()=>{ console.log("The bowling alley")})Ejecutar este código desde mi script.js no funciona. Sin embargo, ejecutar el código desde el interior de los sitios web funciona tal como lo pedí.
document.addEventListener("click", applyGoodAttributes); function applyGoodAttributes(e) { let x = event.clientX; let y = event.clientY; let selectedElement = document.elementFromPoint(x, y); if (awesomeCondition) { console.log("My logic is intouchable") selectedElement.setAttribute("hidden", ""); } }Lo mismo aquí, cuando ejecuto el código desde la consola del navegador, todo funciona como se esperaba. Sin embargo, surgen problemas cuando intento ejecutar mi script.
Mi pregunta es la siguiente; ¿Por qué el script aparentemente no puede acceder al documento?
Mi manifest.js es el siguiente:
"manifest_version": 2, "name": "Best extension EU", "version": "1.2", "description": "Uber duber script that does amazing things to your web browser [€.", "icons": { "48": "icons/border-48.png" }, "content_scripts": [ { "matches": ["*://*.mozilla.org/*"], "js": ["superSeriousScript.js"] } ], "browser_specific_settings": { "gecko": { "id": "legallybinding@sneakers.com" } } }