当前位置: 代码迷 >> JavaScript >> Chrome extension 的manifest.json 资料说明
  详细解决方案

Chrome extension 的manifest.json 资料说明

热度:765   发布时间:2012-09-12 09:21:30.0
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支持任何格式,包括BMPGIFICO等,和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

一至四个以点分隔的整数标识版本。一些应用于整数的规则:他们必须在065535之间,包括非零整数。例如,99999032都是无效的。
下面是有效版本的一些例子:
?“版本“1”
?“版本“1.0”
?“版本“2.10.2”
?“版本“3.1.2.4567”
自动更新系统版本比较,以确定是否已安装扩展需要更新。如果发布扩展已安装的扩展较新版本的字符串,然后扩展名自动更新。
比较开始从最左边的整数。如果这些整数是平等的,右边的整数进行比较,依此类推。例如,1.2.0是一个比1.1.9.9999更新的版本。
一个缺少整数等于零。例如,1.1.9.9999版本比是1.1更新的版本。详见?Autoupdating

  相关解决方案