一、什么是谷歌插件
一个应用(扩展)其实是压缩在一起的一组文件,包括HTML,CSS,Javascript脚本,图片文件,还有其它任何需要的文件。 应用(扩展)本质上来说就是web页面,它们可以使用所有的浏览器提供的API,从XMLHttpRequest到JSON到HTML5全都有。
应用(扩展)可以与Web页面交互,或者通过content script或cross-origin XMLHttpRequests与服务器交互。应用(扩展)还可以访问浏览器提供的内部功能,例如标签或书签等
二、框架原理
- 怎么和浏览器交互
先走manifest.json文件中申明权限
chrome.bookmarks
chrome.cookies
chrome.history…..
注意:只能在弹出页面的js和background中调用这些接口(除了chrome.extension),content script中只能调用chrome.extension
2.怎么向当前页面注入js
设置menifest.json的content_scripts属性
编程式注入
隔离环境:可以访问所注入页面的DOM,但是不能访问里面的任何javascript变量和函数
可以通过dom属性和当前页面的js共享数据
3.消息传递
扩展内(一个插件的各个部分)的消息传递
简单的一次请求,如果多个页面都发起了相同的请求,都在等待答复,只有第一个发起请求的页面会得到响应,其他的将会被忽略
长时间保持连接。从content script到background建立一个长时间建立的通道
扩展之间(多个插件之间)的消息传递
简单的一次请求,
接收响应:chrome.extension.onRequestExternal
发送消息:chrome.extension.sendRequest(laserExtensionId, msgObj, cbk)
长时间保持连接
接收响应:chrome.extension.onConnectE

本文介绍了Chrome插件的基本概念,包括如何与浏览器交互、向当前页面注入JavaScript以及消息传递机制。详细讲解了manifest.json文件的作用,强调了content script与background的权限区别。此外,还探讨了扩展内部及不同扩展间的消息传递方式。最后,概述了Chrome插件的必备文件组成和发布流程。
最低0.47元/天 解锁文章
9081

被折叠的 条评论
为什么被折叠?



