zoukankan      html  css  js  c++  java
  • 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拦截拉起,如果没安装则到达下载页。

  • 相关阅读:
    自定义百度地图链接
    Spring中获取request、response对象的方法
    Windows中使用TortoiseGit提交项目到GitLab配置
    IDEA热部署
    SpringBoot+thymeleaf+mybatis+shiro
    lombok——简化Java代码
    SpringBoot部署到tomcat
    深度学习--深入理解Batch Normalization
    MCMC(一)蒙特卡罗法
    Java反射机制详解
  • 原文地址:https://www.cnblogs.com/sunala/p/10818097.html
Copyright © 2011-2022 走看看