Electron开发: 浏览器启动客户端

2022-04-27  本文已影响0人  you的日常

背景

许多本地应用(例如 vscode、QQ),都支持通过浏览器来启动 PC 上的本地软件

这个功能够使网页端和客户端联动起来,用户体验还是很好的,实现起来也并不复杂。

实现原理

浏览器在解析 url 的时候,会尝试从系统本地寻找url协议所关联的应用,如果有关联的应用,则尝试打开这个应用

例如 VsCode 从 web 端安装插件的时候,实际上是访问了一 个vscode 协议的 url,从而达到启动用户本地 VsCode 的目的.

image.png

具体实现

现在,我们只需要将自定义的协议注册到用户电脑上,就可以实现功能了。用户浏览器里访问带有自定义协议的 url ,即可启动我们的客户端。

Windows

在windows下,注册一个协议比较简单,写注册表就可以了。这部分微软爸爸有很详细的文档,参考 Registering an Application to a URI Scheme

建议在安装程序中写入注册表项,并且指定在卸载程序中,删除这些注册表项。以下是 inno setup 打包程序中,操作注册表的示例代码

上一篇下一篇

猜你喜欢

热点阅读