插件开发总结

# 插件开发总结

参考文献:自小茗同学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)