扩展程序、主题和应用只是资源捆绑包,封装在一个描述软件包内容的 manifest.json
文件内。此文件的格式通常很稳定,但有时必须进行破坏性更改才能解决重要问题。开发者应在其清单中设置 manifest_version
键,以指定其软件包面向的清单规范版本。
当前版本
开发者目前应指定 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
清单版本 1 在 Chrome 18 中已弃用,我们将按照以下时间表逐步取消对清单版本 1 的支持。
清单版本 1 支持时间表
2012 年 8 月
- 应用商店将禁止创建新的清单版本 1 扩展程序。
- 应用商店将允许更新现有清单版本 1 扩展程序。
2013 年 3 月
- Web Store 将于 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'; object-src 'self';
。这会对开发者产生各种影响,content_security_policy
文档中对此进行了详细说明。 - 默认情况下,软件包的资源不再可供外部网站使用(作为映像的
src
或script
标记)。如果您希望网站能够加载软件包中包含的资源,则需要通过web_accessible_resources
清单属性明确将其列入许可名单。这与通过注入内容脚本在网站上构建界面的扩展程序密切相关。 background_page
属性已替换为包含scripts
或page
属性的background
属性。如需了解详情,请参阅事件页面文档。浏览器操作变更:
- 清单中的
browser_actions
键和chrome.browserActions
API 均已消失。请改用单数browser_action
和chrome.browserAction
。 - 移除了
browser_action
的icons
属性。请改用default_icon
属性或 browserAction.setIcon。 - 移除了
browser_action
的name
属性。请改用default_title
属性或 browserAction.setTitle。 - 移除了
browser_action
的popup
属性。请改用default_popup
属性或 browserAction.setPopup。 - 无法再将
browser_action
的default_popup
属性指定为对象。此值必须是一个字符串。
- 清单中的
网页操作更改:
- 清单中的
page_actions
键和chrome.pageActions
API 均已消失。请改用单数page_action
和chrome.pageAction
。 - 移除了
page_action
的icons
属性。请改用default_icon
属性或 pageAction.setIcon。 - 移除了
page_action
的name
属性。请改用default_title
属性或 pageAction.setTitle。 - 移除了
page_action
的popup
属性。请改用default_popup
属性或 pageAction.setPopup。 - 无法再将
page_action
的default_popup
属性指定为对象。它必须是一个字符串。
- 清单中的
移除了
chrome.self
API。请改用chrome.extension
。chrome.extension.getTabContentses
(!!!) 和chrome.extension.getExtensionTabs
已停用。请改用 extension.getViews。Port.tab
已停用。请改用 runtime.Port。