• JS判断客户端是否是iOS或者Android或者ipad(三)


     *
     * @function: 判断浏览器类型是否是Safari、Firefox、ie、chrome浏览器
     * @return: true或false
     *
     */
    function isSafari(){
        var userAgent = navigator.userAgent.toLowerCase();
        if(userAgent.indexOf("safari") > -1 && userAgent.indexOf("chrome") < 0){
            return true;
        }
        return false;
    }
     
    function isChrome(){
       if(navigator.userAgent.indexOf("Chrome") !== -1) { 
            return true;
       }
       return false;
    }
     
    function isFirefox(){
        if(navigator.userAgent.indexOf("Firefox")>0){
            return true;
        }
        return false;
    }
     
    function isMSIE9(){
        if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE9.0"){
            return true;
        }
        return false;
    }
     
    function isMSIE8(){
        if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE8.0"){
            return true;
        }
        return false;
    }
     
    function isMSIE7(){
        if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g,"")=="MSIE7.0"){
            return true;
        }
        return false;
    }

     

    JavaScript获取客户端浏览器的类型和版本,这在前端开发中经常用到,因为一些用户体验好的网站,会先判断客户端访问者的浏览器类型和版本,针对不同的版本和类型调用不同的代码,让客户端获得最佳的浏览效果,那么用JS获取客户端浏览器类型和版本号,其实是很简单的,喜欢以下代码能为您提供参考:

    01 function getBrowserVersion(){
    02 var browser = {};
    03 var userAgent = navigator.userAgent.toLowerCase();
    04 var s;
    05     (s = userAgent.match(/msie ([d.]+)/))
    06            ? browser.ie = s[1]
    07             : (s = userAgent.match(/firefox/([d.]+)/))
    08                     ? browser.firefox = s[1]
    09                     : (s = userAgent.match(/chrome/([d.]+)/))
    10                             ? browser.chrome = s[1]
    11                            : (s = userAgent.match(/opera.([d.]+)/))
    12                                     ? browser.opera = s[1]
    13                                     : (s = userAgent
    14                                             .match(/version/([d.]+).*safari/))
    15                                             ? browser.safari = s[1]
    16                                             : 0;
    17    var version = "";
    18    if (browser.ie) {
    19         version = 'msie ' + browser.ie;
    20    else if (browser.firefox) {
    21         version = 'firefox ' + browser.firefox;
    22    else if (browser.chrome) {
    23         version = 'chrome ' + browser.chrome;
    24     else if (browser.opera) {
    25         version = 'opera ' + browser.opera;
    26     else if (browser.safari) {
    27         version = 'safari ' + browser.safari;
    28     else {
    29         version = '未知的浏览器类型';
    30     }
    31     return version;
    32

    }

    腾讯网的适配代码
    如何判断访问网站的机器类型-如何判断ipad
    JS 判断浏览器客户端类型(ipad,iphone,android)

    1. <script type="text/javascript"> 
    2. <!-- 
    3.         //平台、设备和操作系统 
    4.         var system = { 
    5.             win: false, 
    6.             mac: false, 
    7.             xll: false, 
    8.             ipad:false 
    9.         }; 
    10.         //检测平台 
    11.         var p = navigator.platform; 
    12.         system.win = p.indexOf("Win") == 0; 
    13.         system.mac = p.indexOf("Mac") == 0; 
    14.         system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); 
    15.         system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false; 
    16.         //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面 
    17.         if (system.win || system.mac || system.xll||system.ipad) { 
    18.  
    19.         } else { 
    20.  
    21.             window.location.href = "http://www.jdpatro.com/3g/"; 
    22.         } 
    23. --> 
    24. </script> 

    腾讯网的适配代码

    1. <script type="text/javascript">  
    2. 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))){ 
    3.     if(window.location.href.indexOf("?mobile")<0){ 
    4.         try{ 
    5.             if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){ 
    6.                 window.location.href="http://shipei.qq.com/index.htm"; 
    7.             }else if(/iPad/i.test(navigator.userAgent)){ 
    8.             }else{ 
    9.                 window.location.href="http://shipei.qq.com/simple/s/index/" 
    10.             } 
    11.         }catch(e){} 
    12.     } 
    13. </script> 
    1. <script type="text/javascript"> 
    2.     var browser = { 
    3.         versions : function() { 
    4.             var u = navigator.userAgent, app = navigator.appVersion; 
    5.             return {//移动终端浏览器版本信息                                  
    6.             trident : u.indexOf('Trident') > -1, //IE内核                                  
    7.             presto : u.indexOf('Presto') > -1, //opera内核                                  
    8.             webKit : u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核                                  
    9.             gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核                                 
    10.             mobile : !!u.match(/AppleWebKit.*Mobile.*/) 
    11.                     || !!u.match(/AppleWebKit/), //是否为移动终端                                  
    12.             ios : !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端                  
    13.             android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器                                  
    14.             iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器                     
    15.             iPad: u.indexOf('iPad') > -1, //是否iPad        
    16.             webApp : u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部 
    17.             google:u.indexOf('Chrome')>-1 
    18.         }; 
    19.     }(), 
    20.     language : (navigator.browserLanguage || navigator.language).toLowerCase() 
    21.     } 
    22.     document.writeln("语言版本: "+browser.language); 
    23.     document.writeln(" 是否为移动终端: "+browser.versions.mobile); 
    24. </script> 

    如何判断访问网站的机器类型-如何判断ipad

    如何判断是否是 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)

    1. <script type="text/javascript">  
    2.    var bForcepc 
    3. = fGetQuery("dv") == "pc";   
    4.    function 
    5. fBrowserRedirect(){   
    6.        var sUserAgent = navigator.userAgent.toLowerCase();  
    7.        var bIsIpad = sUserAgent.match(/ipad/i) == 
    8. "ipad";    
    9.        var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";  
    10.        var bIsMidp = sUserAgent.match(/midp/i) == "midp";  
    11.        var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";  
    12.        var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";  
    13.        var bIsAndroid = sUserAgent.match(/android/i) == "android";  
    14.        var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";  
    15.        var bIsWM = sUserAgent.match(/windows mobile/i) == "windows 
    16. mobile";   
    17.        if(bIsIpad){   
    18.            var sUrl = 
    19. location.href;      
    20.            if(!bForcepc){   
    21.                window.location.href = "http://ipad.mail.163.com/";  
    22.            }   
    23.        }   
    24.        if(bIsIphoneOs || bIsAndroid){   
    25.            var sUrl = 
    26. location.href;      
    27.            if(!bForcepc){   
    28.                window.location.href = "http://smart.mail.163.com/";  
    29.            }   
    30.        }   
    31.        if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){   
    32.            var sUrl = 
    33. location.href;      
    34.            if(!bForcepc){   
    35.                window.location.href = "http://m.mail.163.com/";  
    36.            }   
    37.        }   
    38.    }  
    39.    function 
    40. fGetQuery(name){//获取参数值   
    41.        var sUrl = window.location.search.substr(1);  
    42.        var r = sUrl.match(new RegExp("(^|&)" + name + 
    43. "=([^&]*)(&|$)"));  
    44.        return (r == null ? null : (r[2]));  
    45.    }  
    46.    function 
    47. fShowVerBlock(){     
    48.        if(bForcepc){   
    49.            document.getElementByIdx_x("dv_block").style.display = "block";  
    50.        }   
    51.        else{   
    52.            document.getElementByIdx_x("ad_block").style.display = "block";  
    53.        }   
    54.    }  
    55.    fBrowserRedirect();   
    56.    </script> 
  • 相关阅读:
    RE_知识回顾
    python网络爬虫边看边学(selenium模块三验证码)
    python网络爬虫边看边学(selenium模块二无头浏览器)
    python网络爬虫边看边学(selenium模块一)
    python爬虫边看边学(多线程多进程协程)
    python爬虫边看边学(xpath模块解析)
    python爬虫边看边学(bs4安装与使用)
    python爬虫边看边学(数据解析)
    python爬虫边看边学(基础)
    python基础结束
  • 原文地址:https://www.cnblogs.com/dingyufenglian/p/4832687.html
Copyright © 2020-2023  润新知