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”属性来指定后台脚本,但您也可以就像在普通网页中一样在页面中包含自己的脚本。

示例

加载2个后台脚本文件.

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

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

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

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
Basic supportChrome Full support YesEdge Full support 14
Notes
Full support 14
Notes
Notes The 'persistent' property is mandatory.
Firefox Full support 48Opera Full support YesFirefox Android Full support 48
persistentChrome Full support YesEdge Full support 14Firefox No support NoOpera Full support YesFirefox Android No support No

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

文档标签和贡献者

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