这里对ios和android进行了区分处理,实测时ios无法使用iframe方案,因此直接使用了window.location.href的方式直接跳转。
此外这里针对App安装的情况进行了处理(不是通过监听,而是通过setInterval定时器进行时间计算判断),当消耗时间在设定范围内则不会触发跳转下载地址的动作,反之则跳转下载链接进行App的下载。
代码如下(如有不足和差错部分欢迎留言指正):
另附CSDN博主「iYiu」的一些说明以供参考:
URL Scheme 在 ios 9+ 上诸如 safari、UC、QQ浏览器中, iframe 均无法成功唤起 APP,只能通过 window.location 才能成功唤端。当然,如果我们的 app 支持 Universal Link,ios 9+ 就用不到 URL Scheme 了。而 Universal Link 在使用过程中,我发现在 qq 中,无论是 iframe 导航 还是 a 标签打开 又或者 window.location 都无法成功唤端,一开始我以为是 qq 和微信一样禁止了 Universal Link 唤端的功能,其实不然,百般试验下,通过 top.location 唤端成功了。
在这里我个人推荐使用 window.location.href 这种唤醒方法,不管是 标签 还是 iframe 都存在这这些那些的兼容问题,但是对于 window.location.href 来说就轻松很多了。
————————————————
版权声明:本文为CSDN博主「iYiu」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jensen_Yao/article/details/85339301