在Chrome扩展程序内容脚本中包含Javascript文件

Mat*_*ner 13 javascript include google-chrome-extension content-script

我正在编写一个Chrome扩展程序,并希望编写一个JS文件,该文件提供了一些不存在于另一个文件中的预期函数,然后加载其他文件.在传递当前模块本地和全局变量时,我的行为类似于requirePerl,#includeC或execfilePython中的行为,就像引用的文件直接插入当前脚本一样.

我能找到的大多数现有解决方案都提到嵌入这些"包含"内部脚本标签,但我不确定这是否适用(如果确实如此,请说明我的扩展名在当前页面中注入所有这些脚本标签的确切位置).

Update0

请注意,我正在编写内容脚本.至少在"用户"方面,我不提供原始的HTML文档.

Mat*_*ner 19

最好的解决方案是Chrome特定的.javascript文件按照它们在扩展名中加载的顺序列出manifest.json,这里是相关字段的摘录:

{
  "content_scripts": [
    {
      "js" : ["contentscript.js", "254195.user.js"]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript文件按给定的顺序有效连接,然后执行.

  • 所以在contentscript.js中我们可以调用254195.user.js中的任何var和函数? (3认同)
  • 不,因为 contentscript.js 在 254195.user.js 之前加载。这工作正常:“js”:[“jquery.js”,“my-module.js”,“main.js”]。因此,jquery 可以在 my-module.js 中使用,而 my-module.js 可以在 main.js 中使用。 (2认同)