H5 唤醒App

H5 唤醒App

打开APP
function  GetMobelType()  {                
    var  browser  =   {                    
        versions:   function()  {                        
            var  u  =  window.navigator.userAgent;                        
            return  {                            
                trident:  u.indexOf('Trident')  >  -1, //IE内核
                presto:  u.indexOf('Presto')  >  -1, //opera内核
                Alipay:  u.indexOf('Alipay')  >  -1, //支付宝
                webKit:  u.indexOf('AppleWebKit')  >  -1, //苹果、谷歌内核
                gecko:  u.indexOf('Gecko')  >  -1  &&  u.indexOf('KHTML')  ==  -1, //火狐内核
                mobile:  !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                ios:  !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android:  u.indexOf('Android')  >  -1  ||  u.indexOf('Linux')  >  -1, //android终端或者uc浏览器
                iPhone:  u.indexOf('iPhone')  >  -1  ||  u.indexOf('Mac')  >  -1, //是否为iPhone或者安卓QQ浏览器
                //iPhone: u.match(/iphone|ipod|ipad/),//
                iPad:  u.indexOf('iPad')  >  -1, //是否为iPad
                webApp:  u.indexOf('Safari')  ==  -1, //是否为web应用程序,没有头部与底部
                weixin:  u.indexOf('MicroMessenger')  >  -1, //是否为微信浏览器
                qq: u.match(/\sQQ/i) !== null, //是否QQ
                Safari:  u.indexOf('Safari')  >  -1,
                  ///Safari浏览器,
            };                    
        }()                
    };                
    return  browser.versions;            
}


function jump() { 
	//微信
	var myurl = 'wechat://';
    if(GetMobelType().weixin) {
       layer.alert("请在浏览器中打开");  
    } else {
        if(GetMobelType().android) {
        	openApp(myurl);
        }
        if(GetMobelType().ios || GetMobelType().iPhone || GetMobelType().iPad) {
            if(GetMobelType().qq) {
                 layer.alert("请在浏览器中打开");
            } else {
                openApp(myurl);
            };
        }
    }
}

function openApp(myurl) {

		var hasApp = true , t = 1000;
	    var startTime = Date.now();
	    window.location.href = myurl;
	    setTimeout(function () { 
	        var endTime = Date.now();
	        hasApp = !(!startTime || endTime - startTime < t + 200);
	    } , t);
	    
	    setTimeout(function () {  //没有安装APP则提示扫描下载
	        if(!hasApp) {
	      	   layer.alert("请扫描二维码下载安装");
	        }
	    } , 2000);
	
}

你可能感兴趣的:(JS)