Chrome插件开发学习——开发实战
来源:互联网 发布:纠正跑调的软件 编辑:程序博客网 时间:2024/05/21 21:40
一、为了获取用户点击时候的信息,用 js 很容易实现 content.js (注意必须写成单独的js页而且需要在manifest.json 里面注册)
1、如何注册呢?
1、如何注册呢?
任意一个模式匹配本质上都是一个以认可的协议(例如:http, https, file, ftp 或者chrome-extension)开头的URL,只是URL你可以包含"*"字符.这里有一种特殊的模式匹配,它表示所有已认可的协议开头的URL都被匹配. 每个模式匹配都由以下三部分构成:
- 协议(scheme)— 例如,http or file or*
注意:file协议不是缺省的(访问文件时可能需要明确指明使用file协议).用户可以访问扩展管理页面或者设置页面来查看每个扩展独立的file协议设置.
- 域名(host)— 例如,www.google.com或者*.google.com或者*; 如果使用file协议,这里就不需要域名部分
- 路径(path)— 例如,*"],
//需要用到的js都要在这里说明
"js":["js/jquery-2.0.0.min.js", "js/rule.js", "js/rule_creater.js","js/rule_catcher.js"]
}]
content.js 是在页面完全加载完成后,Chrome浏览器主动嵌入到当前网页中的,它的生命周期是和浏览器的生命周期一样
二、获取到的信息如何在Chrome浏览器插件直接传递?
首先注册 控制中心,也就是 background.js 可以说它是浏览器网页与插件内容交流的枢纽!
在页面上获取到的信息可以传递给 chrome.extention.runtiom.sendMessage()发送到插件运行时的空间里面
这里有点像淘宝的消息中间件一样,不过可能只有一个存的地方。其他人去那个地方拿,拿到的就是那个最新版本(这里还需要测试,是否可以很多人同时拿?)
那就是背景页:扩展常常用一个单独的长时间运行的脚本来管理一些任务或者状态。 Background pages to the rescue.
如同
architectureoverview 的解释。背景页是一个运行在扩展进程中的HTML页面。它在你的扩展的整个生命周期都存在,同时,在同一时间只有一个实例处于活动状态。 在一个有背景页的典型扩展中,用户界面(比如,浏览器行为或者页面行为和任何选项页)是由沉默视图实现的。当视图需要一些状态,它从背景页获取该状态。当背景页发现了状态改变,它会通知视图进行更新。
背景也也需要先注册:"background": { "scripts": ["background.js"] },然后可以这样写背景页:var data1;var data2chrome.runtime.onMessage.addListener(function(request, sender, sendRequest){if(request.type == ?) {data1 = request;//全局变量data1更新//do something} else{data2 = request;//全局变量data2更新//do something}
只有背景页收到data1而且更新data1 这是才能起到更新全局变量的作用});其他人可以这样向通道里面输入消息:chrome.runtime.sendMessage("what you want to send");还可以这样去问背景页拿东西:(注意背景页总是能保存最新的消息,如果别人发的消息是新的消息,背景页需要一个名字保存下来,这样其他人要的时候就可以以这个名字向背景页去拿,而且如果某个人更新了这个消息,另一个人去拿一定是拿到最新版本的该名字对应的消息,这样也就是说,在背景页中保存的变量时全局的变量(切记全局变量))document.addEventListener('DOMContentLoaded', function () { //获得背景页中的全局变量data1 data1 = chrome.extension.getBackgroundPage().data1; //dosometion 更新data1 chrome.runtime.sendMessage(data1);});
0 0
- Chrome插件开发学习——开发实战
- Chrome插件开发学习——开发入门
- Chrome插件开发学习——开发进阶
- Chrome插件开发简单实战教程
- Chrome插件开发——本地天气
- Chrome插件开发学习笔记(一)
- Chrome插件开发学习笔记(二)
- chrome插件开发
- Chrome 插件开发指导
- Chrome 插件初学开发
- 开发Chrome插件入门
- Chrome插件开发进阶
- Chrome插件开发入门
- Chrome 插件开发
- Chrome插件开发入门
- chrome浏览器插件开发
- Chrome扩展插件开发
- Chrome插件开发入门教程
- 怎么在windows下面使用git
- solr查询——根据时间范围查询
- Java学习笔记——相对路径研究
- Chrome插件开发学习——开发入门
- Chrome插件开发学习——开发进阶
- Chrome插件开发学习——开发实战
- 直方图均衡化相关
- Linux下Tomcat的启动、关闭、杀死进程
- 浅谈GET POST
- IOS研究院之打开照相机与本地相册选择图片
- hdu 1325 Vs hdu 1272 is it a tree ? 并查集:对是否是树的判断
- 在iOS中创建静态库
- 入住csdn博客
- javascript实现Map