`
foxgoo
  • 浏览: 15463 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics