mainfest.json(必备配置文件)

基本信息

  1. {
  2. "name": "Demo", // 插件名称
  3. "version": "0.0.1", // 插件版本
  4. "manifest_version": 2, // 清单文件的版本,必填,且必填2
  5. "description": "Chrome Extension Demo", // 描述
  6. }

image.png

图标

  1. {
  2. // 图标,用一个尺寸的图也没问题
  3. "icon":{
  4. "16":"assets/icon.png"
  5. "32":"assets/icon.png"
  6. ...
  7. "128":"assets/icon.png"
  8. }
  9. }

image.png

  1. {
  2. // browser_actionpage_actionapp必须三选一
  3. // 浏览器右上角图标设置
  4. "browser_action":
  5. {
  6. "default_icon": "assets/icon.png",
  7. // 图标悬停时的标题,可选
  8. "default_title": "this a demo",
  9. "default_popup": "html/popup.html"
  10. },
  11. // 当某些特定页面打开才显示的图标
  12. "page_action": {
  13. "default_icon": "assets/page-icon.png",
  14. "default_title": "page-title",
  15. "default_popup": "html/page-popup.html"
  16. }
  17. }

image.png

脚本注入

  1. {
  2. // content-script可以配置多个规则
  3. "content_scripts": [
  4. {
  5. "matches": ["<all_urls>"], // 匹配地址,<all_urls>表示匹配所有地址
  6. "js": ["js/content-script.js"],// 注入js,数组中js顺序注入
  7. "css": ["css/custom.css"],// 注入css,可能影响全局样式(慎用)
  8. "run_at": "document_start"// 代码注入的时间"document_start"|"document_end"|"document_idle",默认"document_idle"(页面空闲时)
  9. }
  10. ]
  11. }

权限申请

  1. {
  2. "permissions":
  3. [
  4. "contextMenus", // 右键菜单
  5. "tabs", // 标签
  6. "notifications", // 通知
  7. "webRequest", // web请求
  8. "webRequestBlocking",
  9. "storage", // 插件本地存储
  10. "http://*/*", // 可以通过executeScript或者insertCSS访问的网站
  11. "https://*/*" // 可以通过executeScript或者insertCSS访问的网站
  12. ],
  13. }

其它

  1. {
  2. // 普通页面能够直接访问的插件资源列表,如果不设置是无法直接访问的
  3. "web_accessible_resources": ["js/inject.js"],
  4. // 插件主页,这个很重要,不要浪费了这个免费广告位
  5. "homepage_url": "https://www.baidu.com",
  6. // 覆盖浏览器默认页面
  7. "chrome_url_overrides":
  8. {
  9. // 覆盖浏览器默认的新标签页
  10. "newtab": "newtab.html"
  11. },
  12. // Chrome40以前的插件配置页写法
  13. "options_page": "options.html",
  14. // Chrome40以后的插件配置页写法,如果2个都写,新版Chrome只认后面这一个
  15. "options_ui":
  16. {
  17. "page": "options.html",
  18. // 添加一些默认的样式,推荐使用
  19. "chrome_style": true
  20. },
  21. // 向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字
  22. "omnibox": { "keyword" : "go" },
  23. // 默认语言
  24. "default_locale": "zh_CN",
  25. // devtools页面入口,注意只能指向一个HTML文件,不能是JS文件
  26. "devtools_page": "devtools.html"
  27. ...
  28. }