溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

判斷WEB網(wǎng)站的訪問端是電腦還是手機的方法

發(fā)布時間:2020-07-31 16:57:17 來源:網(wǎng)絡 閱讀:2435 作者:靈雨飄零 欄目:移動開發(fā)

如何判斷WEB網(wǎng)站的訪問端是電腦還是手機?以顯示不同的頁面!

其實可以通過JS腳本來實現(xiàn)

<script type="text/javascript"> 
<!-- 
        //平臺、設備和操作系統(tǒng) 
        var system = { 
            win: false, 
            mac: false, 
            xll: false, 
            ipad:false 
        }; 
        //檢測平臺 
        var p = navigator.platform; 
        system.win = p.indexOf("Win") == 0; 
        system.mac = p.indexOf("Mac") == 0; 
        system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); 
        system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false; 
        //跳轉(zhuǎn)語句,如果是手機訪問就自動跳轉(zhuǎn)到wap.baidu.com頁面 
        if (system.win || system.mac || system.xll||system.ipad) { 
 
        } else { 
 
            window.location.href = "http://www.jdpatro.com/3g/"; 
        } 
--> 
</script>

 騰訊網(wǎng)的適配代碼:

<script type="text/javascript">  
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){ 
    if(window.location.href.indexOf("?mobile")<0){ 
        try{ 
            if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){ 
                window.location.; 
            }else if(/iPad/i.test(navigator.userAgent)){ 
            }else{ 
                window.location. 
            } 
        }catch(e){} 
    } 
} 
</script>
<script type="text/javascript"> 
    var browser = { 
        versions : function() { 
            var u = navigator.userAgent, app = navigator.appVersion; 
            return {//移動終端瀏覽器版本信息                                  
            trident : u.indexOf('Trident') > -1, //IE內(nèi)核                                  
            presto : u.indexOf('Presto') > -1, //opera內(nèi)核                                  
            webKit : u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內(nèi)核                                  
            gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核                                 
            mobile : !!u.match(/AppleWebKit.*Mobile.*/) 
                    || !!u.match(/AppleWebKit/), //是否為移動終端                                  
            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或者QQHD瀏覽器                     
            iPad: u.indexOf('iPad') > -1, //是否iPad        
            webApp : u.indexOf('Safari') == -1,//是否web應該程序,沒有頭部與底部 
            google:u.indexOf('Chrome')>-1 
        }; 
    }(), 
    language : (navigator.browserLanguage || navigator.language).toLowerCase() 
    } 
    document.writeln("語言版本: "+browser.language); 
    document.writeln(" 是否為移動終端: "+browser.versions.mobile); 
</script>

如何判斷是否是 iPad 瀏覽器呢,關鍵是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 瀏覽器,他的的 User Agent 是:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
function is_iPad(){        
 [object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();
 [object Object] [object Object] [object Object]if(ua.match(/iPad/i)=="ipad") {                
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return true;
 [object Object] [object Object] [object Object]} else {
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return false;
 [object Object] [object Object] [object Object]}
}

$is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]

JS 判斷瀏覽器客戶端類型(ipad,iphone,android)

<script type="text/javascript">  
   var bForcepc 
= fGetQuery("dv") == "pc";   
   function 
fBrowserRedirect(){   
       var sUserAgent = navigator.userAgent.toLowerCase();  
       var bIsIpad = sUserAgent.match(/ipad/i) == 
"ipad";    
       var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";  
       var bIsMidp = sUserAgent.match(/midp/i) == "midp";  
       var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";  
       var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";  
       var bIsAndroid = sUserAgent.match(/android/i) == "android";  
       var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";  
       var bIsWM = sUserAgent.match(/windows mobile/i) == "windows 
mobile";   
       if(bIsIpad){   
           var sUrl = 
location.href;      
           if(!bForcepc){   
               window.location.href = "http://ipad.mail.163.com/";  
           }   
       }   
       if(bIsIphoneOs || bIsAndroid){   
           var sUrl = 
location.href;      
           if(!bForcepc){   
               window.location.href = "http://smart.mail.163.com/";  
           }   
       }   
       if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){   
           var sUrl = 
location.href;      
           if(!bForcepc){   
               window.location.href = "http://m.mail.163.com/";  
           }   
       }   
   }  
   function 
fGetQuery(name){//獲取參數(shù)值   
       var sUrl = window.location.search.substr(1);  
       var r = sUrl.match(new RegExp("(^|&)" + name + 
"=([^&]*)(&|$)"));  
       return (r == null ? null : (r[2]));  
   }  
   function 
fShowVerBlock(){     
       if(bForcepc){   
           document.getElementByIdx_x("dv_block").style.display = "block";  
       }   
       else{   
           document.getElementByIdx_x("ad_block").style.display = "block";  
       }   
   }  
   fBrowserRedirect();   
   </script>

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI