场景
在网页上可以直接唤起 Windows 客户端,比如在百度网盘的网页上点击下载,可以唤起安装在电脑上的百度网盘客户端,并将需要下载的文件参数传递给客户端。
实现
1 注册表
需要在注册表中写入相应的值,向 Windows 系统注册 URL Protocol 协议。
位置在
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
这里的 easibook 是协议名
设置 FriendlyAppName
,在唤起客户端时,浏览器提示会使用这个名称。
这里的 %1
是参数,如果在网页上的调用是:easibook://open?aaa=AAA 123&bbb=BBB
则这里的 %1
参数就是 easibook://open/?aaa=AAA%20123&bbb=BBB
,注意这里有 URL 编码,空格变成了 %20。
客户端程序的启动参数就是编码之后的这一串,需要自己进行解析,一般有库可以使用。
2 调用
直接在浏览器地址栏输入:easibook://open?aaa=AAA 123&bbb=BBB
即可完成调用。浏览器会给出提示:
如果是代码调用,则是:
window.location.href = "easibook://open/?aaa=AAA%20123&bbb=BBB"
或者使用 a
标签
<a href = "easibook://open/?aaa=AAA%20123&bbb=BBB"></a>