Google Chrome扩展开发指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Google Chrome插件开发
Google Chrome扩展是一种软件,以增强Chrome浏览器的功能。

Google Chrome扩展使用HTML、JavaScript、CSS和图片等Web技术开发。

Google Chrome扩展至少包括一个manifest.json和一个js文件
manifest.json是插件调度的大本营,声明各种资源的名字
js文件中定义要执行的操作
可以通过如下的方式直接访问Google Chrome扩展中的文件:
chrome-extension://<extensionID>/<pathToFile>
extensionID,可以通过chrome://extensions的URL查看。

在开发过程中extensionID经常变化,可
以使用@@extension_id替代;一旦打包部署就成为永久extensionID。

Google Chrome扩展往往包含一个不可见的background page,Google Chrome扩展的主要业务逻
辑都位于此。

有两种类型的background page,一种是persistent background pages,另一种是event pages。

Persistent background pages总是可见,而Event pages事件驱动是否可见。

Event pages根据需要加载。

在manifest.json文中注册Event page如下:
{
"background": {
"scripts": [myEventPage.js],
"persistent": false
]
}
Google Chrome扩展的可视UI(二选一)
browser actions,Google Chrome扩展适用于任何页面。

图标往往位于浏览器地址栏外右侧。

page actions,Google Chrome扩展只作用于某一页面,当打开该页面时出现Google Chrome扩展,关闭该页面则Google Chrome扩展也随之消失。

图标往往位于浏览器地址栏内右端。

其他展现UI的方式:
Chrome context menu
options page,支持用户定制Chrome扩展参数。

用户通过chrome://extensions中的链接打开一个新tab,在新tab中设置参数保存到chrome.storage中(chrome.storage.sync.set/get)。

content scripts,与当前打开的页面进行交互。

Google Chrome扩展与Web页面/服务器之间的交互
通过content scripts或cross-originXMLHttpRequests,可以实现Google Chrome扩展与Web页面/服务器之间的交互。

配置用户使用插件时的存储数据
传统的cookie
HTML5的localstorage
Google的chrome.storage
{
"permissions":[
"storage"
],
}
3属性storage.sync,自动同步到用户登录的任何Chrome浏览器
storage.local,只存储在用户当前登录的Chrome浏览器
storage.managed,只读存储
1事件onChanged
桌面通知
{
"permissions":[
"notifications"
],
...
// Note: Because of bug 134315, you must declare any images you // want to use with createNotification() as a web accessible resource. "web_accessible_resources":[
"48.png"
],
}
chrome.alarms,周期性执行代码,或在指定时间执行代码。

{
"permissions":[
"alarms"
],
}
发布到Chrome应用商店
Google浏览器->设置->更多工具->扩展程序
开发者模式,加载未打包插件
参考链接:
https:///extensions
https:///extensions/getstarted https:///extensions/overview https:///extensions/devguide https:///extensions/samples https:///extensions/api_index
manifest.json文件属性说明
https:///extensions/manifest。

相关文档
最新文档