通过浏览器打开某个客户端,需要检测看客户端是否已经安装过了,未安装则提示安装该客户端,已安装则直接打开
实现
方案1: 首先github上找到这个方案https://github.com/ismailhabib/custom-protocol-detection。对多个浏览器都实现了,基本都是hack方法。不足点是,若检测页面在iframe里面,谷歌浏览器的检测方法不起作用。如果检测页面不在iframe下,方案1就能满足使用。
方案2: 针对所在检测页面是iframe下的页面。找到另外一个方法去实现。在谷歌浏览器测试通过。
由于方案2只在谷歌,火狐,qq,uc,搜狗,edge,都测试过(360极速发稿时还没过),可以把方案1和方案2结合使用。覆盖更多浏览器类型
方案2的具体实现
原理:同样是hack方法,利用input聚焦失焦去判断。点击打开客户端按钮,input聚焦。
1. 如果浏览器检测到本地系统有对应的注册码,则会弹窗提示是否打开客户端软件,input失去焦点,判断安装了客户端。
2. 否则1s后还没弹窗,判断没有安装客户端。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!