插件开发总结
# 插件开发总结
参考文献:自小茗同学http://blog.haoji.me/chrome-plugin-develop.html PS:实践操作中,对injected script和content script的理解与小茗同学存在偏差。
[TOC]
# 一、核心内容
# 1.1 content_scripts
直接注入页面的JS,除了共享DOM,发起的请求所在的域也为当前页面的域。
【权限】只能访问extension、runtime等部分API。
- chrome.extension(getURL , inIncognitoContext , lastError , onRequest , sendRequest)
- chrome.i18n
- chrome.runtime(connect , getManifest , getURL , id , onConnect , onMessage , sendMessage)
- chrome.storage
# 1.2 permissions
参考资料:http://www.kkh86.com/it/chrome-extension-doc/extensions/declare_permissions.html
权限申请。
# 1.2.1 contextMenus
右键菜单。
# 1.2.2 tabs
标签。
# 1.2.3 notifications
通知。
# 1.2.4 webRequest
web请求。
# 1.2.5 webRequestBlocking
阻塞式请求。
# 1.2.6 storage
本地存储。
# 1.2.7 https://*/*
可插入JS或CSS的网站。
# 1.3 background
常驻后台的JS或页面,生命周期从打开浏览器开始,到关闭浏览器结束。
【权限】可访问绝大部分API,除了devtools系列。
# 1.4 web_accessible_resources
普通页面可直接访问的插件资源列表,可访问DOM,发起的请求和当前页面不在同一个域。
【权限】和普通JS无任何差别,不能访问任何扩展API。
# 1.5 browser_action
浏览器右上角图标设置。其中,"default_popup": "popup.html"
。
【权限】可访问绝大部分API,除了devtools系列。
# 二、消息通信
# 三、上架谷歌商店要求
参考资料:Chrome网上应用商店开发者计划政策 (opens new window)、Google Chrome网上应用商店开发者协议 (opens new window)