Google chrome extension 使用背景脚本而不是背景页面的Chrome扩展?

Google chrome extension 使用背景脚本而不是背景页面的Chrome扩展?,google-chrome-extension,Google Chrome Extension,我最近开始学习Chrome扩展,并查看示例代码,以了解所有不同部分是如何组合在一起的。我看到扩展背后的逻辑主要在后台页面中处理,但是在查看下面的示例代码时,我注意到了一些奇怪的地方 { "name": "Notification Demo", "version": "1", "description": "Shows off desktop notifications, which are \"toast\" windows that pop up on the deskt

我最近开始学习Chrome扩展,并查看示例代码,以了解所有不同部分是如何组合在一起的。我看到扩展背后的逻辑主要在后台页面中处理,但是在查看下面的示例代码时,我注意到了一些奇怪的地方

{
  "name": "Notification Demo",
  "version": "1",
  "description":
     "Shows off desktop notifications, which are \"toast\" windows that pop up on the desktop.",
  "icons": {"16": "16.png", "48": "48.png", "128": "128.png"},
  "permissions": ["tabs", "notifications"],
  "options_page": "options.html",
  "background": { "scripts": ["background.js"] },
  "content_security_policy": "script-src 'self'; img-src 'self'"
}

这里没有“背景页面”,而是一个“背景”元素。我知道“权限”中有一个设置,允许chrome在后台运行,即使它没有打开,但这似乎有所不同。似乎可以使用背景脚本而不是页面,但当我试图搜索有关这方面的信息时,我什么也没想到。以前是否有人见过或使用过此功能,您能否简要描述一下在后台页面上使用后台脚本的好处?

这是不允许执行内联JavaScript的工作的一部分。不要使用只加载
后台脚本的
后台页面
,而是使用单独的文件来允许直接加载JS。因为背景代码没有UI,所以实际上不需要HTML。这看起来是而且还没有被记录在案。

您可以在Google的browserAction函数示例代码中看到这个实现:


请特别查看make_bg_red。

这确实是最近的版本,但在主干上有文档记录:如果您使用的是最先进的Chrome版本,请确保通过在文档URL中添加“beta”、“dev”或“trunk”来查看与您的版本最匹配的文档。很好。上次我检查后备箱时,还没有记录在案。