jsdemo 喚醒APP 安裝開啟,未安裝下載
阿新 • • 發佈:2018-12-05
<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>