zoukankan      html  css  js  c++  java
  • JS open App(未安装就跳转下载页面)

    直接上代码
    var APPCommon = {
    downAppURl : "http://**/",//下载APP地址
    downWeixin: "http://**",//微信下载APP地址
    iphoneSchema: 'openApp.jdMobile://',//IOS打开APP 跳转地址(这个跳转地址需要IOS开发人员提供)
    iphoneDownUrl: 'https://**',//IOS 下载地址
    androidSchema: 'openApp.jdMobile://',//安卓打开APP 跳转地址 (这个跳转地址需要安卓开发人员提供
    androidDownUrl: 'http://**/',//安卓下载地址
     openApp: function(){
    var this_ = this;
    if(this_.isWeixin()){ //微信
    window.location = this_.downWeixin;
    }
    }else{//非微信浏览器
    if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
    var loadDateTime = new Date();
    window.setTimeout(function() {
    var timeOutDateTime = new Date();
    if (loadDateTime && timeOutDateTime - loadDateTime < (1500 + 200)) {
    window.location = this_.iphoneDownUrl;//ios下载地址
    } else {
    window.close();
    }
    },1600); //此处时间有待确定
    window.location = this_.iphoneSchema;
    }else if (navigator.userAgent.match(/android/i)) {
    var loadDateTime = new Date();
    var ifrSrc =this_.androidSchema;
    if (!ifrSrc) {
    return;
    }
    var ifr = document.createElement('iframe');
    ifr.src = ifrSrc;
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
    var TimeLoad = setTimeout(function() {
    document.body.removeChild(ifr);
    window.location=this_.androidDownUrl; //android下载地址
    }, 1600);
    window.onblur=function(){
    clearTimeout(TimeLoad);
    };
    }else{ //非ios、非安卓
    window.location = this_.downAppURl;
    }
    }
    },
    isWeixin: function(){ //判断是否是微信
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == "micromessenger") {
    return true;
    } else {
    return false;
    }
    }
    };
    function openAP(){
    APPCommon.openApp()
    }
    备:
      1、经过测试ios用iframe尝试打开APP是行不通的,于是换了一个思路,用响应时间来控制。
      2、ios安装APP自带浏览器safari会有alert框,目前未找到解决办法屏蔽。
      3、微信禁止了打开APP 这个功能,所以建议跳转地址为到应用宝。

  • 相关阅读:
    Java多线程总结之线程安全队列Queue
    Java四种线程池
    Java多线程同步 synchronized 关键字的使用
    mysql存储过程语法及实例
    Mysql 中有关日期的函数(sql)
    mysql sql常用语句大全
    spring主要的作用?
    Java:描述反射机制的作用?举几个反射的应用?
    设计模式之六大原则(转载)
    Android之微信开放平台创建应用
  • 原文地址:https://www.cnblogs.com/luobiao/p/6237840.html
Copyright © 2011-2022 走看看