## 常用配置 其中,`name`、`version` 和 `manifest_version` 是必须的,`manifest_version`目前统一是2。 必填配置: ``` { "name": "Extension", // 扩展名称 "version": "1.0.0", // 版本信息,才用x.y.z格式,更新时必须更改版本,且大于上个版本 "manifest_version": 2 // 必须为2 } ``` 常用可选配置: ``` { "description": "", // 扩展简介 "icons": { "16": "icon16.png", "48": "icon48.png", "128": "icon128.png" }, // icon文件,建议提供3种不同大小的,Chrome会在不同情况是用对应大小的图片 "default_locale": "en" // 默认语言,选择后,目录中必须有_lcoales目录,然后建立语言目录。后面章节会讲到 "browser_action": { "default_icon": "icon16.png", "default_title": "扩展tooltip提示名称", "default_popup": "popup.html" }, // 设置默认的popup页 "background": { "persistent": true, "scripts": [ "background.js" ] }, // 背景页,打开扩展就会常驻,主要用于数据传递 "options_page": "options.html", // 选项页,如果不设置,右键扩展[选项]会处于置灰状态 "permissions": [ "tabs", // tab权限 "\u003Call_urls\u003E" // <all_urls>表示匹配所有地址,最好采用unicode写法,获取对应网址的权限,你也可以写具体网址,如: "https://*.google.com",当你需要请求对应网址的资源是需要 ], // 扩展权限,Chrome扩展的权限都需要指定,从而使用相对应的Chrome API "web_accessible_resources": [ "icon16.png", "icon48.png", "icon128.png" ], // 资源白名单,可插入Web页面 "content_scripts": [ { "matches": [ "http://*/*", "https://*/*" ], // 地址匹配规则 "js": [ "content.js" ], // JS白名单 "css": [ "content.css" ], // CSS白名单 "all_frames": true, "run_at": "document_idle" // 注入位置 } ], // 脚本白名单 "content_security_policy": "script-src 'self'; bject-src 'self'", // 安全策略 "homepage_url": "https://github.com/excaliburhan/zhDaily" // 扩展首页 } ``` 注: * `browser_action`和`page_action`二选一,或不设 * 配置文件里配置的文件路径,都是相对于`mainfest.json`的相对路径。 更多关于`manifest.json`:[https://developer.chrome.com/extensions/manifest](https://developer.chrome.com/extensions/manifest)