1. 程式人生 > >jsdemo 喚醒APP 安裝開啟,未安裝下載

jsdemo 喚醒APP 安裝開啟,未安裝下載

<script type=" text/javascript ">
function submitFn() {
var opapp=layer.open({
    type: 2
    ,content: '喚起APP中...'
  });
//判斷瀏覽器
var  url=''//urlscheme碼;
var appurl=''//APP下載地址;
var u = navigator.userAgent;
if(/MicroMessenger/gi.test(u)) {
		// 引導使用者在瀏覽器中開啟
		layer.close(opapp);
		$(".popdown").show();
		return;
	}
	var d = new Date();
	var t0 = d.getTime();
	if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
		//Android 向安卓同事索要連結
		if(openApp(url)) {
			openApp(url);
		} else {
			//由於開啟需要1~2秒,利用這個時間差來處理--開啟app後,返回h5頁面會出現頁面變成app下載頁面,影響使用者體驗
			var delay = setInterval(function() {
				var d = new Date();
				var t1 = d.getTime();
				if(t1 - t0 < 3000 && t1 - t0 > 2000) {
					layer.close(opapp);
					//alert('檢測到未安裝,請下載APP');
					window.location.href =appurl;
				}
				if(t1 - t0 >= 3000) {
					clearInterval(delay);
					layer.close(opapp);
				}
			}, 1000);
		}
	} else if(u.indexOf('iPhone') > -1) {
		//IOS  向IOS同事索要
		if(openApp(url)) {
			openApp(url);
		} else {
			var delay = setInterval(function() {
				var d = new Date();
				var t1 = d.getTime();
				if(t1 - t0 < 3000 && t1 - t0 > 2000) {
					layer.close(opapp);
					//alert('檢測到未安裝,請下載APP');
					window.location.href =appurl;
				}
				if(t1 - t0 >= 3000) {
					clearInterval(delay);
					layer.close(opapp);
				}
			}, 1000);
		}
	}
};
 
 
function openApp(src) {
	// 通過iframe的方式試圖開啟APP,如果能正常開啟,會直接切換到APP,並自動阻止a標籤的預設行為
	// 否則開啟a標籤的href連結
	var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串
	if (userAgent.indexOf("Safari") > -1) {
        window.location.href =src;
    }else{
		var ifr = document.createElement('iframe');
		ifr.src = src;
		ifr.style.display = 'none';
		document.body.appendChild(ifr);
		window.setTimeout(function() {
			document.body.removeChild(ifr);
		}, 2000);
	}
	
}
</script>