五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 使用navigator.userAgent/jquery來判斷瀏覽器類型的方法詳解

使用navigator.userAgent/jquery來判斷瀏覽器類型的方法詳解

文章來源:365jz.com     點擊數(shù):1327    更新時間:2017-12-26 09:53   參與評論
Navigator userAgent 屬性

定義和用法
userAgent 屬性是一個只讀的字符串,聲明了瀏覽器用于 HTTP 請求的用戶代理頭的值。.
語法

navigator.userAgent


實例
您的瀏覽器發(fā)送的用戶代理標(biāo)題:

<script>
document.write("用戶代理: " + navigator.userAgent);
</script>

以上實例輸出結(jié)果:
用戶代理: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

使用navigator.userAgent來判斷瀏覽器類型。

1、瀏覽器版本號函數(shù):
Js代碼  

var br=navigator.userAgent.toLowerCase(); 
var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1]; 


2、js瀏覽器判斷函數(shù)
Js代碼  

function userBrowser(){ 
    var browserName=navigator.userAgent.toLowerCase(); 
    if(/msie/i.test(browserName) && !/opera/.test(browserName)){ 
        alert("IE"); 
        return ; 
    }else if(/firefox/i.test(browserName)){ 
        alert("Firefox"); 
        return ; 
    }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){ 
        alert("Chrome"); 
        return ; 
    }else if(/opera/i.test(browserName)){ 
        alert("Opera"); 
        return ; 
    }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){ 
        alert("Safari"); 
        return ; 
    }else{ 
        alert("unKnow"); 
    } 
}  


通過UserAgent判斷智能手機(設(shè)備,Android,IOS)

通過 Agent 來判斷相應(yīng)的智能手機設(shè)備,然后跳轉(zhuǎn)到新的手機站點,經(jīng)過不懈的努力,終于搜集了比較全的 智能設(shè)備 的 Agent,然后又寫了程序,直接上代碼吧,希望能幫助到你

///<summary> 
    /// 根據(jù) Agent 判斷是否是智能手機 
    ///</summary> 
    ///<returns></returns> 
    public static bool CheckAgent() 
    { 
        bool flag = false; 
 
        string agent = HttpContext.Current.Request.UserAgent; 
        string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" }; 
 
           //排除 Windows 桌面系統(tǒng) 
            if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;"))) 
            { 
                //排除 蘋果桌面系統(tǒng) 
                if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh")) 
                { 
                    foreach (string item in keywords) 
                    { 
                        if (agent.Contains(item)) 
                        { 
                            flag = true; 
                            break; 
                        } 
                    } 
                } 
            } 
   
        return flag; 
    } 


代碼解釋:

1. !agent.Contains("Windows NT") && !agent.Contains("Macintosh") 排除Window 桌面系統(tǒng) 和 蘋果桌面系統(tǒng)
2. "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" 這些是判斷智能設(shè)備Agent中的關(guān)鍵詞
3. MQQBrowser 為 QQ 手機瀏覽器,QQ 手機的Agent 比較特殊,所以單獨判斷

下面搜集的一些Agent,話說找到這么多的智能設(shè)備,好不容易啊:

Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2
Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)      ----SAMSUNG MP7
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)          ----HTC MP7



改寫為JS

/**
* 驗證是否為智能手機
*/
$.checkMobile = function(){
     var flag = false; 
    var agent = navigator.userAgent.toLowerCase(); 
    var keywords = [ "android", "iphone", "ipod", "ipad", "windows phone", "mqqbrowser" ]; 
   
    //排除 Windows 桌面系統(tǒng) 
    if (!(agent.indexOf("windows nt") > -1) || (agent.indexOf("windows nt") > -1 && agent.indexOf("compatible; msie 9.0;") > -1)) { 
        //排除蘋果桌面系統(tǒng) 
        if (!(agent.indexOf("windows nt") > -1) && !agent.indexOf("macintosh") > -1 ) { 
            for (var item in keywords) { 
                if (agent.indexOf(item) > -1 ) { 
                    flag = true; 
                    break; 
                } 
            } 
        } 
    } 
    return flag;
}

window PC
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0   ---FF
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/53  ---Chrome
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7  ----safari
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MDDS; InfoPath.2; Alexa Toolbar)   ----IE
Opera/9.80 (Windows NT 6.1; WOW64; U; zh-cn) Presto/2.10.229 Version/11.64  ---opera



使用jquery來判斷瀏覽器類型的方法:

jQuery 從 1.9 版開始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,將不再支持 IE 6/7/8。 以后,如果用戶需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合使用 jQuery 1.9 和 2.0, 官方的解決方案是:

<!--[if lt IE 9]>
  <script src='jquery-1.9.0.js'></script>
<![endif]-->
<!--[if gte IE 9]>
  <script src='jquery-2.0.0.js'></script>
<![endif]-->

從長久來看,這樣有利于在復(fù)雜情況下根據(jù)瀏覽器特性進行分別處理, 而不是簡單的檢測瀏覽器類型和版本。 但目前很多舊程序的移植恐怕無法直接過渡為根據(jù)瀏覽器支持特性, 所以在網(wǎng)上找了一些能夠直接替換的解決辦法。

判斷瀏覽器類型:

$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

等號后面的表達(dá)式返回的就是 true/false, 可以直接用來替換原來的 $.browser.msie 等。如需要檢查是否為 IE6時,可以這么寫:

// Old
if ($.browser.msie && 7 > $.browser.version) {}
// New
if ('undefined' == typeof(document.body.style.maxHeight)) {} 

檢查是否為 IE 6-8:

if (!$.support.leadingWhitespace) {} 

終極方法是用另外的類庫替代,可以參照老外寫的一篇文章:

Browser detect




如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進入論壇

發(fā)表評論 (1327人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號