Aquí hay una parte de mi archivo manifest.json:
"content_scripts": [ { "js": [ "common.js", "generation.js" ], "matches": [ "*://www.site.com/*" ], "run_at": "document_start" }, { "js": [ "page_init.js" ], "matches": [ "*://www.site.com/*" ], "run_at": "document_start" },Aquí, quiero ejecutar "common.js" antes de "page_init.js", ya que common.js contiene mucho código compartido y variables y funciones globales que los otros scripts de contenido necesitan para funcionar. He definido common.js antes de page_init.js en mi manifiesto y, en Chrome, hacer esto da como resultado que common.js se ejecute antes que todos los demás scripts de contenido, que es lo que necesito. Sin embargo, en Firefox, no parece hacer esto.
Sin embargo, cuando ejecuto esta extensión en Firefox, page_init arroja un error:
ReferenceError: ReferenceError: href is not defined
"href" es una variable que se define en common.js.
¿Necesito hacer que page_init.js se ejecute en document_end para que common.js se ejecute por completo, o hay otra forma? Necesito que ambos se ejecuten en document_start.
ACTUALIZAR:
Logré resolver el problema cambiando el contenido de los manifiestos a esto:
"content_scripts": [ { "js": [ "common.js", "generation.js", "page_init.js" ], "matches": [ "*://www.site.com/*" ], "run_at": "document_start" },De la documentación de Firefox :
js
Una matriz de rutas, relativas a manifest.json, que hacen referencia a archivos JavaScript que se inyectarán en las páginas coincidentes.
Los archivos se inyectan en el orden indicado . Esto significa que, por ejemplo, si incluye jQuery aquí seguido de otro script de contenido, como este...
Probablemente sea un error de Firefox, es posible que desee informarlo.