【发布时间】:2022-01-04 19:27:44
【问题描述】:
这是我的 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"
},
在这里,我想在“page_init.js”之前运行“common.js”,因为 common.js 包含许多其他内容脚本需要运行的共享代码和全局变量和函数。我在清单中的 page_init.js 之前定义了 common.js,并且在 Chrome 中,这样做会导致 common.js 在所有其他内容脚本之前运行,这正是我所需要的。但是,在 Firefox 中,它似乎没有这样做。
但是,当我在 Firefox 中运行此扩展时,page_init 会抛出错误:
ReferenceError: ReferenceError: href is not defined
"href" 是 common.js 中定义的变量。
我是否需要让 page_init.js 在 document_end 运行才能使 common.js 完全运行,还是有其他方法?我需要它们都在 document_start 运行。
更新:
我设法通过将清单内容更改为以下内容来解决问题:
"content_scripts": [
{
"js": [ "common.js", "generation.js", "page_init.js" ],
"matches": [ "*://www.site.com/*" ],
"run_at": "document_start"
},
【问题讨论】:
标签: javascript firefox firefox-addon