Chrome extension 的manifest.json 文件说明
字段摘要
以下字段为manifest.json的字段,其中name?和?version?是必须的
{
??// Required
??"name": "My Extension",
? "version": "versionString",
??// Recommended
? "description": "A plain text description",
? "icons": { ... },
? "default_locale": "en",
??// Pick one (or none)
? "browser_action": {...},
? "page_action": {...},
? "theme": {...},
??// Add any of these that you need
? "background_page": "aFile.html",
? "chrome_url_overrides": {...},
? "content_scripts": [...],
? "key": "publicKey",
? "minimum_chrome_version": "versionString",
? "options_page": "aFile.html",
? "permissions": [...],
? "plugins": [...],
? "update_url": "http://path/to/updateInfo.xml"
? "incognito": "split?or?spanning",
}
字段说明
description
描述,普通文本字符串?(非HTML和其他格式,不能超过132个字符),用以描述该extension程序.?描述应同时适用于浏览器的用户界面和管理延伸扩展.
icons
Extension程序的图标,可以有一个或多个.?至少提供两个大小的图标— 48x48 and 128x128. 48x48?的图标用在extensions的管理界面(chrome://extensions). 128x128?的图标用在安装extension程序的时候.?还可以指定一个16x16?的图标当作?extension?的页面图标.?也可以显示在实验信息栏上。
图标一般为PNG格式,?因为最好的透明度的支持,不过WebKit支持任何格式,包括BMP,GIF,ICO等,和JPEG。下面是一个指定的图标的例子:
"icons": {??"16": "icon16.png",
??????????"48": "icon48.png",
??????????"128": "icon128.png" },
注意:?以上写的图标不是固定的。随浏览器的环境的改变而变。如:安装时弹出的对话框变小。?
default_locale
默认的语言环境
key
在开发程序加载完后,key值可用在控制唯一ID。
minimum_chrome_version
同version
name
一个简短的,纯文本字符串(不超过45个字符),程序的标识。该名称用在安装对话框中,Extension的管理界面
permissions
值为一个数组。每个权限可以是一个已知的字符串列表(如“标签”)或一个匹配模式,可以访问一个或多个主机。
以下是manifest?文件权限部分的例子:
"permissions": [
??"tabs",
??"bookmarks",
??"http://www.blogger.com/",
??"http://*.google.com/",
??"unlimitedStorage"
],
以下为可能用到的权限清单:
权限
描述
match pattern
指定一台主机的权限。如果需要交互运行网页上的代码。该属性是必须的,很多扩展功能,如跨域请求XMLHttpRequests,注入的内容脚本编程,以及CoookiesAPI需要主机的权限。
"bookmarks"
详见chrome.bookmarks?模块
"chrome://favicon/"
"chrome://favicon/url"?的形式用于显示页面的favicon .?如:?为了显示http://www.google.com/的favicon,你要声明"chrome://favicon/"?权限代码如下:
<img src="chrome://favicon/http://www.google.com/">
"contextMenus"
详见chrome.contextMenus?模块.
"cookies"
详见chrome.cookies?模块.
"experimental"
详见chrome.experimental.* APIs.
"geolocation"
允许extension?程序使用HTML5?geolocation API?,不需要用户的许可权限
"history"
详见chrome.history?模块.
"idle"
详见chrome.idle?模块.
"notifications"
允许extension?程序使用HTML5?notification API?,不需要访问权限方法?(比如checkPermission()).?详见Desktop Notifications.
"tabs"
详见?chrome.tabs?or?chrome.windows?模块.
"unlimitedStorage"
提供一个用于存储HTML5的客户端的数据,如数据库和本地存储的文件,不设限额。如果没有这个权限,扩展限制为5MB本地存储空间。
?
version
一至四个以点分隔的整数标识版本。一些应用于整数的规则:他们必须在0和65535之间,包括非零整数。例如,99999和032都是无效的。
下面是有效版本的一些例子:
?“版本”:“1”
?“版本”:“1.0”
?“版本”:“2.10.2”
?“版本”:“3.1.2.4567”
自动更新系统版本比较,以确定是否已安装扩展需要更新。如果发布扩展已安装的扩展较新版本的字符串,然后扩展名自动更新。
比较开始从最左边的整数。如果这些整数是平等的,右边的整数进行比较,依此类推。例如,1.2.0是一个比1.1.9.9999更新的版本。
一个缺少整数等于零。例如,1.1.9.9999版本比是1.1更新的版本。详见?Autoupdating