浏览插件开发的一点记录
纷羽's blog 2021-02-01
# 浏览插件开发的一点记录
去年11月份开始,由于公司的一条业务线需求,我搞了一哈浏览器插件开发,想起来对这玩意做一个总结
起初我使用 chrome原生API & typescript,因为国内中文文档很少,所以我偶然查资料发现chromeium的API和FireFox提供的API很像,并且有一个大佬做了兼容两个引擎的库 webextension-polyfill
,用过的都说好
# 框架搭建
webpack 多入口 + ts + vue + scss
由于有需要,写了个自制plugin,用于在构建时候生产manifest.json
文件
其余例如icon之类的图片使用 CopyPlugin
复制就好
# 通讯
由于插件很多脚本运行在不同的环境下,所以为了实现想要实现的功能就需要建立有效的通讯连接来发送消息。
# 与页面js通讯
通过 window.postMessage
和 content_scripts
通讯,并可通过 MessageChannel
建立双向管道。
# 线程间通讯
一次可以发送一条消息并返回一条消息postMessage,也可以使用 MessageChannel
建立双向管道。