该页面翻译自 Google Chrome Extensions 与 Google Chrome Apps。除非特别说明,该页面的内容遵循 Creative Commons Attribution 3.0 License,代码示例遵循 BSD License。
扩展程序、主题背景以及应用只不过是打包的资源,另外附带一个
manifest.json
文件,描述包的内容。该文件的格式大体上是稳定的,但是偶尔需要重大更改,解决重大问题。开发者应该在清单文件中设置
manifest_version
属性,指定他们的包使用的清单文件规范的版本。
目前,开发人员应该指定
'manifest_version': 2
:
{ ..., "manifest_version": 2, ... }
清单文件版本 1 在 Chrome 18 及更高版本中弃用,并且根据下列计划,将逐渐减少对它的支持。
内容安全策略默认情况下设置为
"script-src 'self' chrome-extension-resource:; object-src 'self'"
。这会对开发人员产生一系列影响,在
content_security_policy
文档中详细描述。
扩展程序包的资源默认情况下不再可用于外部网站(作为图片的
src
属性或者 script
标签)。如果您希望网站能够加载您的扩展程序包中的资源,您需要通过
web_accessible_resources
清单文件属性明确将它列入白名单。这对于通过插入的内容脚本在网页上建立界面的扩展程序特别有用。
background_page
属性已经由
background
属性取代,它包含
scripts
或 page
属性中的任意一个,详情在事件页面文档中可用。
浏览器按钮的更改:
清单文件中的
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
已消失,请改用
chrome.extension.getViews({ "type": "tab" })。
Port.tab
已消失,请改用
runtime.Port.sender。