JS判斷手機端是否安裝某應用


方法一(網頁上判斷)

if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
   var loadDateTime = new Date();
   window.setTimeout( function () {
    var timeOutDateTime = new Date();
    if (timeOutDateTime - loadDateTime < 5000) {
     window.location = "要跳轉的頁面URL" ;
    } else {
     window.close();
    }
   },
   25);
   window.location = "www://?param1=xxx&param2=xxx " ;//與APP約定的一個協議URL
  } else if (navigator.userAgent.match(/android/i)) {
   var state = null ;
   try {
    state = window.open( "www://?param1=xxx&param2=xxx " , '_blank' );//與APP約定的一個協議URL
   } catch (e) {}
   if (state) {
    window.close();
   } else {
    window.location = "要跳轉的頁面URL" ;
   }
  }

方法二

function testApp(url) {
   var timeout, t = 1000, hasApp = true ;
   setTimeout( function () {
     if (hasApp) {
       alert( '安裝了app' );
     } else {
       alert( '未安裝app' );
     }
     document.body.removeChild(ifr);
   }, 2000)
  
   var t1 = Date.now();
   var ifr = document.createElement( "iframe" );
   ifr.setAttribute( 'src' , url);
   ifr.setAttribute( 'style' , 'display:none' );
   document.body.appendChild(ifr);
   timeout = setTimeout( function () {
      var t2 = Date.now();
      if (!t1 || t2 - t1 < t + 100) {
        hasApp = false ;
      }
   }, t);
}

方法三(APP里判斷)

var isAndroid = u.indexOf( 'Android' ) > -1 || u.indexOf( 'Linux' ) > -1; //android終端或者uc瀏覽器
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
 
 
if (isAndroid){
       function android(){
         window.location.href = "www://?param1=xxx&param2=xxx" ; /***打開app的協議,有安卓同事提供***/
         window.setTimeout( function (){
            window.location.href = "http://" ; /***下載app的地址***/
         },2000);
       };
if (isiOS){
       function ios(){
         var ifr = document.createElement( "iframe" );
         ifr.src = "www://?param1=xxx&param2=xxx" ; /***打開app的協議,有ios同事提供***/
         ifr.style.display = "none" ;
         document.body.appendChild(ifr);
         window.setTimeout( function (){
           document.body.removeChild(ifr);
            window.location.href = "http://" ; /***下載app的地址***/
         },2000)
       };
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM