2018-10-23 web唤起App

公司要求实现一个h5能够唤起App的功能 并且要求如果安装的话那么就直接跳转到此App 如果没有安装则跳转到应用商店进行安装 因此查了很多相关资料总结出

        1.目前在h5页面下是无法判断手机上是否安装其他软件的,那么因此只能采用曲线救国的方法,通过点击判断是否跳转了 来以此判断是否安装了此App

        2.判断如何跳转总共可分为两种方式 我使用了混用的方法 第一种是监听页面是否隐藏或切换,第二种是通过js线程被切入到后台后会被堵塞 而可以判断是否跳转

      3.如果没有跳转那么要通过navigator.userAgent来判断是安卓还是IOS 来跳转到相应系统的App下载地址

        4.进行app跳转非常的简单 通过href:'schema://[params]'即可跳转 schema(必须)为安卓开发者所定,params是需要传递给app的参数(非必须)

        5.具体看下列代码 解释下由于有些安卓浏览器原因 其跳转时过慢导致js线程没有被阻塞而导致判断错误 为此特意加上监听'webkitvisibilitychange' 事件来修复此问题 并且注意的是要放在setTimeout函数之前 要不也会失效

        6.在测试过程中也发现两个小知识点

                    1⃣️.在setTimeout内部clearTimeout后 之后的代码将不会执行

                    2⃣️.函数内部执行href跳转后 之后的代码仍会执行

你可能感兴趣的:(2018-10-23 web唤起App)