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跳转后 之后的代码仍会执行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我只是互吾平台中的一名小小的H5开发者 前段时间遇到一个小需求:当我和平常一样,打开了互动有吾公众号,想要进官网看...
    互吾阅读 1,351评论 1 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,854评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,149评论 2 59
  • 洋牡丹,又称花毛茛,陆莲花,芹菜花、波斯毛茛,为毛茛科花毛茛属植物。层层叠叠的花瓣柔软又整齐地聚拢在一起,让人...
    阿温_ecdd阅读 2,611评论 0 0
  • 【手写爱情绘本7.0】文字写久了,曾经一份小小的期望就会升腾为一份梦想。都说无欲则刚,心中一旦有了更高的追求,就会...
    主播亚东阅读 278评论 0 0