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拦截拉起,如果没安装则到达下载页。

  • 相关阅读:
    lua 10 迭代器
    lua 9 parttern 字符极其简要的介绍
    lua 7 运算符
    lua 6 函数
    lua 5 流程控制 if
    线程池的设计问题/线程数量计算
    一个父子进程管道通信的复习
    redis 网络库文件 重构
    带标准IO带缓存区和非标准IO 遇到fork是的情况分析
    libevent 同性恋 讲解
  • 原文地址:https://www.cnblogs.com/sunala/p/10818097.html
Copyright © 2011-2022 走看看