Windows 客户端添加 URL Protocol 支持
场景
在网页上可以直接唤起 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。
客户端程序的启动参数就是编码之后的这一串,需要自己进行解析,一般有库可以使用。
版本:dotnet-campus/dotnetCampus.CommandLine: dotnetCampus.CommandLine is probably the fastest command line parser in all .NET open-source projects. Parsing a classical command line only takes 1091ns, thus 10 ticks.
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>
其它参考
利用URL Protocol实现网页调用本地应用程序_只要踏出一步,路就在前方——zssure-CSDN博客_浏览器调用本地应用程序
原文链接:
本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2021年3月12日 ,如有侵权请联系 cloudcommunity@tencent 删除url客户端浏览器协议windows
发布评论