H5唤醒APP或打开应用商店下载(未完成)

论坛 期权论坛 脚本     
匿名技术用户   2020-12-27 06:41   11   0
$(function () {
  var register = $("#register");// 添加注册并且打开APP事件

  register.click(function(e){
    e.preventDefault();
    deepLink();
  })


  function deepLink(){
    // 判断系统
    var o =null;
    var u = navigator.userAgent, app = navigator.appVersion;
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
    var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

    if (isAndroid) {
      //这个是安卓操作系统
      openOrDownload();//需要安卓的src参数
        o =setTimeout(function(){
        document.body.removeChild(ifr);
        document.hasFocus() && (window.location = 'http://www.baidu.com') //安卓给的应用宝地址
      },1000)
    }
    if (isIOS) {
      //这个是ios操作系统
      var ver = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
      ver = parseInt(ver[1], 10);
      //ios9以上,打开的时候用a标签来跳转
      if (ver > 9) {
        var url = " " 
        window.location.href = url;//ios提供唤起地址   
        o =setTimeout(function(){
          window.location.href = "https://itunes.apple.com/us/app/id  xxxxxx";//iOS下载地址
        },1000)
        return;
      } else {//ios9以下,打开的时候用iframe
        // alert("ios9以下");
        openOrDownload();//需要iOS的src参数
      }
    }

  }

  //ios9以下,打开的时候用iframe
  function openOrDownload(src) {
    var ifr = document.createElement('iframe');
    ifr.src = src;//ios提供的地址
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
  }

  /**
   * 兼容safari 唤醒APP后仍跳转下载页面的问题
   */
  window.addEventListener("pageshow", function(evt){
    clearTimeout(o);
  }, false);

  window.addEventListener("pagehide", function(evt){
    clearTimeout(o);
  }, false);
  //未安装的实现方式
  var ifr = document.createElement('iframe');
  var o = setTimeout(function () {
    document.body.removeChild(ifr);
    document.hasFocus() && (window.location = 'http://www.baidu.com')
  }, 1000);

  var hidden,
    visibilityChange;
  if (typeof document.hidden !== "undefined") {
    hidden = document.hidden;
    visibilityChange = "visibilitychange";
  } else if (typeof document.mozHidden !== "undefined") {
    hidden = document.mozHidden;
    visibilityChange = "mozvisibilitychange";
  } else if (typeof document.msHidden !== "undefined") {
    hidden = document.msHidden;
    visibilityChange = "msvisibilitychange";
  } else if (typeof document.webkitHidden !== "undefined") {
    hidden = document.webkitHidden;
    visibilityChange = "webkitvisibilitychange";
  } else {
    hidden = false;
  }

  document.addEventListener(visibilityChange,
    function () {
      clearTimeout(o);
    },
    !1)
});

从其他文章搜刮的资料:

Android:

微信、QQ:「URL Scheme」不可用,可通过「应用宝」中转,app必须在腾讯商店上架。
浏览器:「URL Scheme」可用。
其他APP:提示用浏览器打开。

iOS>=9(支持「Universal Links」):

微信:「URL Scheme」和「Universal Links」均不可用,通过「应用宝」中转。
QQ:「Universal Links」尚且可用。
QQ浏览器:「Universal Links」不可用,但「URL Scheme」可用。
其他APP:「Universal Links」可用。

iOS<9(不支持「Universal Links」):

微信、QQ:「URL Scheme」不可用,提示用浏览器打开。
各浏览器:「URL Scheme」可用。
其他APP:提示用浏览器打开。


以上(本来是打算做吊起APP的,最后需求变成只是跳转应用商店= =,把这个先保存以备以后需要。)


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP