• js唤醒app完全实现


    拉起app的原理就是js和原生统一好一个地址,例如(weixin://)。然后浏览器发起请求,如果app安装了则会拦截这个请求并且打开。

    js这边稍微麻烦一些。如果只拉起app比较简单,直接通过a连接或者window.location.href=“**”即可。不过这里有个问题,就是有些手机在未安装app的时候会识别我们之前定的那个协议尝试打开这个网页,当然会报找不到网页。但如果使用iframe拉起app在ios9以上不支持。这里我们对ios拉起app做一个总结:

    一、iframe:当没安装时safari不会提示错误弹框,但iframe只适合ios9以下;

    二、window.location.href: 兼容性良好,但在没安装app的情况下会在safari中弹框提示网址无效;

    三、universal Link:在ios9及以上生效。

    var ua = window.navigator.userAgent;
    window.device.isIOS= !!ua.match(/(iPhone|iPod|iPad);?/i);
    window.device.isSafari = window.device.isIOS && d.match(/Version/([d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/)
    ;
    var o = navigator.userAgent.match(/OSs([d]+)/) , edition = o ? parseInt(o[1], 10) : 0; edition >= 9 ? window.device.isSafari || (window.location.href = iosUrl) : this.wakeupApp(iosUrl);

    综上如果页面中有拉起app的按钮,最好的实现方式是链接跨域指向另一个域名下的下载页,universal Link拦截拉起,如果没安装则到达下载页。

  • 相关阅读:
    RAND函数和SRAND函数
    称丢手帕问题
    用GDB调试程序(七)
    用GDB调试程序(六)
    用GDB调试程序(三)
    用GDB调试程序(五)
    用GDB调试程序(二)
    用GDB调试程序(一)
    SOAP 简单对象访问协议
    关于angularJS绑定数据时自动转义html标签
  • 原文地址:https://www.cnblogs.com/sunala/p/10818097.html
Copyright © 2020-2023  润新知