mainfest.json(必备配置文件)
基本信息
{ "name": "Demo", // 插件名称 "version": "0.0.1", // 插件版本 "manifest_version": 2, // 清单文件的版本,必填,且必填2 "description": "Chrome Extension Demo", // 描述}
图标
{ // 图标,用一个尺寸的图也没问题 "icon":{ "16":"assets/icon.png" "32":"assets/icon.png" ... "128":"assets/icon.png" }}

{ // browser_action、page_action、app必须三选一 // 浏览器右上角图标设置 "browser_action": { "default_icon": "assets/icon.png", // 图标悬停时的标题,可选 "default_title": "this a demo", "default_popup": "html/popup.html" }, // 当某些特定页面打开才显示的图标 "page_action": { "default_icon": "assets/page-icon.png", "default_title": "page-title", "default_popup": "html/page-popup.html" }}
脚本注入
{ // content-script可以配置多个规则 "content_scripts": [ { "matches": ["<all_urls>"], // 匹配地址,<all_urls>表示匹配所有地址 "js": ["js/content-script.js"],// 注入js,数组中js顺序注入 "css": ["css/custom.css"],// 注入css,可能影响全局样式(慎用) "run_at": "document_start"// 代码注入的时间"document_start"|"document_end"|"document_idle",默认"document_idle"(页面空闲时) } ]}
权限申请
{ "permissions": [ "contextMenus", // 右键菜单 "tabs", // 标签 "notifications", // 通知 "webRequest", // web请求 "webRequestBlocking", "storage", // 插件本地存储 "http://*/*", // 可以通过executeScript或者insertCSS访问的网站 "https://*/*" // 可以通过executeScript或者insertCSS访问的网站 ],}
其它
{ // 普通页面能够直接访问的插件资源列表,如果不设置是无法直接访问的 "web_accessible_resources": ["js/inject.js"], // 插件主页,这个很重要,不要浪费了这个免费广告位 "homepage_url": "https://www.baidu.com", // 覆盖浏览器默认页面 "chrome_url_overrides": { // 覆盖浏览器默认的新标签页 "newtab": "newtab.html" }, // Chrome40以前的插件配置页写法 "options_page": "options.html", // Chrome40以后的插件配置页写法,如果2个都写,新版Chrome只认后面这一个 "options_ui": { "page": "options.html", // 添加一些默认的样式,推荐使用 "chrome_style": true }, // 向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字 "omnibox": { "keyword" : "go" }, // 默认语言 "default_locale": "zh_CN", // devtools页面入口,注意只能指向一个HTML文件,不能是JS文件 "devtools_page": "devtools.html" ...}