zoukankan      html  css  js  c++  java
  • js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核

    本功能主要用于手机端,如果手机未安装该APP,则跳转至下载页面;否则,直接打开手机中的APP。

    <div style="position:absolute; top:84%; left:24%; z-index:8;">
    <a id="J-call-app" href="javascript:;"><img src="image/but01.jpg"></a>
    <input id="J-download-app" type="hidden" name="storeurl" value="http://app.jiaxidezhou.com/jxmj.apk">
    </div>
    <script>
    //js 通过浏览器直接打开应用程序(IOS,Android)
    (function(){
    var ua = navigator.userAgent.toLowerCase();
    var t;
    var config = {
    /*scheme:必须*/
    scheme_IOS: 'jiaximajiang://',
    scheme_Adr: 'jiaximajiang://splash',
    download_url: document.getElementById('J-download-app').value,
    timeout: 600
    };
    function openclient() {
    var startTime = Date.now();
    
    var ifr = document.createElement('iframe');
    
    
    ifr.src = ua.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
    
    var t = setTimeout(function() {
    var endTime = Date.now();
    
    if (!startTime || endTime - startTime < config.timeout + 200) { 
    window.location = config.download_url;
    } else {
    
    }
    }, config.timeout);
    
    window.onblur = function() {
    clearTimeout(t);
    }
    }
    window.addEventListener("DOMContentLoaded", function(){
    document.getElementById("J-call-app").addEventListener('click',openclient,false);
    
    }, false);
    })()
    //JS判断微信、QQ内置浏览器,useragent
    window.onload = function (){
    var ua = navigator.userAgent.toLowerCase();
    var div = document.getElementById("here");
    if(ua.match(/MicroMessenger/i)=='micromessenger' || ua.match(/QQ//i) == "qq/") {
    div.style.display = "block";
    
    }else{
    div.style.display = "none";
    }
    }
    </script>

    [参考]http://blog.csdn.net/coslay/article/details/46889051#t1

  • 相关阅读:
    红黑树在不同场景的应用及其优势
    微信抢红包简单实现(随机分配金额、并发控制)
    日志采集常见组件优劣势
    LayUIAdminPro使用
    DevExpress中Text和EditValue封装数据示例
    NPOI读取Excel日期类型单元格返回一串数字问题(2020-08-15 变成 12-5月-2020了)
    Win 10 64位 注册 Grid++ Report 控件
    C# EF 读取App.config连接字符串
    EF 用到的两个类
    Jason实现DataTable和List互转
  • 原文地址:https://www.cnblogs.com/meetuj/p/7102202.html
Copyright © 2011-2022 走看看