Type Object
强制性 不强制
示例
"background": {
  "scripts": ["background.js"]
}

通过background 键来给您的扩展程序引入一个或者多个后台脚本文件,以及一个可选的后台页面文件。

后台脚本放置的是需要长期保持状态,或者需要执行长期的操作,并且与任意特定网页或者浏览器窗口的生命周期无关的代码。

后台脚本会在扩展程序被加载后立即被加载,并且一直保持被加载状态,只有在扩展程序被禁止或者卸载的时候才停止运行。只要您获得了必要的许可permissions,您可以在该脚本中使用任意的扩展程序API。

浏览Anatomy of a WebExtension中的Background pages部分以获取更多的细节。

background 键最多只能拥有以下的两个属性,两个属性都是可选属性:

"scripts"

一个字符串数组,数组中的每个字符串都是JavaScript源文件相对于manifest.json的相对路径,JavaScript源文件便是些被包含在扩展程序中的后台脚本文件。

脚本共享相同的全局窗口

脚本按照在数组中的顺序进行加载

注意在低于Firefox 50版本的浏览器下会出现一个问题:当Firefox debugger已经打开时,脚本并不能总是按照数组中定义的顺序进行加载。若要解决这个问题,您可以使用page属性,用<script>标签将后台脚本文件从页面中加载进来。这个问题已经在Firefox 50中被修复。

"page"

如果您仅仅指定了“scripts”属性,将生成一个空白的页面来运行指定的脚本。

如果您需要在页面中显示某些特定的内容,您可以使用“page”属性来定义自己的页面。

如果您使用此属性,您仍然可以使用“script”属性来指定后台脚本,但您也可以就像在普通网页中一样在页面中包含自己的脚本。

Chrome incompatibilities

background

Firefox does not support the "persistent" property. Background scripts stay loaded all the time.

示例

加载2个后台脚本文件.

  "background": {
    "scripts": ["jquery.js", "my-background.js"]
  }

加载1个自定义的后台页面文件.

  "background": {
    "page": "my-background.html"
  }

文档标签和贡献者

标签: 
 此页面的贡献者: heyDolby, taadis
 最后编辑者: heyDolby,