首页 > 其他分享 >开发一个浏览器插件的一些技巧

开发一个浏览器插件的一些技巧

时间:2023-03-20 12:22:19浏览次数:51  
标签:插件 github 浏览器 技巧 gui 基于 com

此模式的浏览器<wiz_tmp_highlight_tag class="cm-searching">插件,并不是<wiz_tmp_highlight_tag class="cm-searching">chrome 以及firefox 模式的<wiz_tmp_highlight_tag class="cm-searching">插件,而且可以独立运行,同时包含gui 的浏览器<wiz_tmp_highlight_tag class="cm-searching">插件(与ie 早期的activex <wiz_tmp_highlight_tag class="cm-searching">插件类似)

开发说明一些细节

  • 开启一个windows protocol

可以windows protocol 的目的是提供开启<wiz_tmp_highlight_tag class="cm-searching">插件gui 的能力,当然如果windows protocol 支持的比较好也是可以包含业务逻辑的,比如electron 的就可以基于协议进行一些操作

  • 提供一个webserver

提供一个业务功能操作,web 可以直接通过js 与local server 的通信,提升可靠性,注意webserver 需要使用一个独立的大端口同时注意监听最好在localhost(相对安全写)

  • 提供gui 能力

此功能并不是强需,只是有些业务场景我们是需要包含gui的,比如文件下载类的(百度云盘下载<wiz_tmp_highlight_tag class="cm-searching">插件等)

可选技术栈

  • gui 开发

基于nodejs 技术栈
使用node+webkit 集成的模式,此模式框架就比较多了,nodegui,neutralino,gluon,electron,tauri,maui
基于qt的技术栈
qt 是一个很不错的跨平台技术方案
平台特定的gui 框架
比如.net 可以使用winform(wpf 也是可以的),对于mac 可以使用mac 的appkit , 当然目前dotnet 也提供了跨平台的gui 能力

  • 协议注册

对于基于electron 内部直接包含,基于qt 的可以自己注册(<wiz_tmp_highlight_tag class="cm-searching">插件需要安装,安装的是否配置)或者基于protocol-registry node npm 包

  • webserver 启动

此模式对于node 以及qt 都是可以支持的,并没有太多难度

说明

以上是一个简单的总结,对于需要类似<wiz_tmp_highlight_tag class="cm-searching">插件功能的业务可以参考, 实际上基于浏览器标准扩展模式的<wiz_tmp_highlight_tag class="cm-searching">插件开发也是一种方式,但是很多时候可能开发的功能不太符合
实际业务,基于以上模式相对比较灵活,但是也是有成本的

参考资料

https://github.com/gluon-framework/gluon
https://neutralino.js.org/
https://github.com/neutralinojs/neutralinojs
https://www.electronjs.org/
https://github.com/electron/electron
https://tauri.app/
https://github.com/tauri-apps/tauri
https://github.com/Elanis/web-to-desktop-framework-comparison
https://github.com/dotnet/maui
https://avaloniaui.net/

标签:插件,github,浏览器,技巧,gui,基于,com
From: https://www.cnblogs.com/rongfengliang/p/17235864.html

相关文章