清单文件版本

扩展程序、主题背景以及应用只不过是打包的资源,另外附带一个 manifest.json 文件,描述包的内容。该文件的格式大体上是稳定的,但是偶尔需要重大更改,解决重大问题。开发者应该在清单文件中设置 manifest_version 属性,指定他们的包使用的清单文件规范的版本。

当前版本

目前,开发人员应该指定 'manifest_version': 2

{
  ...,
  "manifest_version": 2,
  ...
}

清单文件版本 1 在 Chrome 18 及更高版本中弃用,并且根据下列计划,将逐渐减少对它的支持。

清单文件版本 1 支持计划

2012 年 8 月

  • 网上应用店将不再允许创建清单文件版本 1 的扩展程序。
  • 网上应用店仍然允许更新现有的清单文件版本 1 的扩展程序。

2013 年 3 月

  • 从 2013 年 3 月 4 日开始,网上应用店将不允许更新清单文件版本 1 的扩展程序。

2013 年 4 月

  • Chrome 27 Beta 将不再为清单文件版本 1 的扩展程序打包(或为开发而加载)。

2013 年 6 月

  • 清单文件版本 1 的扩展程序将从网上应用店的展区、搜索结果以及分类页面中移除。
  • 通知邮件将会发送至网上应用店中仍然有清单文件版本 1 的扩展程序开发人员,提醒他们这些项目将不会发布,并提供更新指示。

2013 年 9 月

  • 网上应用店将取消发布所有清单文件版本 1 的扩展程序。
  • 最终的通知邮件将发送至网上应用店中仍然有清单文件版本 1 的扩展程序开发人员。
  • Chrome 浏览器仍然会继续加载和运行已安装的清单文件版本 1 的项目。

2014 年 1 月

  • Chrome 浏览器将不再加载或运行清单文件版本 1 的扩展程序。

版本 1 与版本 2 之间的更改

  • 内容安全策略默认情况下设置为 "script-src 'self' chrome-extension-resource:; object-src 'self'"。这会对开发人员产生一系列影响,在 content_security_policy 文档中详细描述。

  • 扩展程序包的资源默认情况下不再可用于外部网站(作为图片的 src 属性或者 script 标签)。如果您希望网站能够加载您的扩展程序包中的资源,您需要通过 web_accessible_resources 清单文件属性明确将它列入白名单。这对于通过插入的内容脚本在网页上建立界面的扩展程序特别有用。

  • background_page 属性已经由 background 属性取代,它包含 scriptspage 属性中的任意一个,详情在事件页面文档中可用。

  • 浏览器按钮的更改:

  • 页面按钮的更改:

  • chrome.self API 已移除,请改用 chrome.extension

  • chrome.extension.getTabContentses chrome.extension.getExtensionTabs 已消失,请改用 chrome.extension.getViews({ "type": "tab" })

  • Port.tab 已消失,请改用 runtime.Port.sender