位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 檢測(cè)瀏覽器類型和版本號(hào)

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-26

■知識(shí)點(diǎn)

檢測(cè)瀏覽器類型和版本就比較容易,用戶只需要根據(jù)不同瀏覽器類型匹配特殊信息即可。

■實(shí)例設(shè)計(jì)

【示例1】下面的方法能夠檢測(cè)當(dāng)前主流瀏覽器類型,包括IE、Opera、Safari、Chrome和Firefox瀏覽器。

var ua = navigator.userAgent.toLowerCase ();

var info ={

    ie : /msie/.test(ua) && !/opera/.test (ua),

    op : /opera/.test(ua〉,

    sa : /version.*safari/.test(ua),

    ch : /chrome/.test(ua),

    ff : /gecko/.test(ua) && !/webkit/.test(ua)

};

在腳本中調(diào)用該對(duì)象的屬性,如果是對(duì)應(yīng)類型瀏覽器,返回true,否則就返回false。

(info, ie) &&console. log ("IE 瀏覽器");

(info. op) &&console. log ("Opera 瀏覽器");

(info. sa) &&console. log ("Safari 瀏覽器");

(info. ff) &&console. log ("Firefox 瀏覽器");

(info. ch) &&console. log ("Chrome 瀏覽器");

【示例2】通過解析navigator對(duì)象的userAgent屬性可以獲得瀏覽器的完整版本號(hào)。針對(duì)IE瀏覽器來說,它是在"MSIE"字符串后面帶一個(gè)空格,然后跟隨版本號(hào)及分號(hào)。因此,可以設(shè)計(jì)一個(gè)如下的函數(shù)獲取IE的版本號(hào)。

//獲取IE瀏覽器的版本號(hào) 

//返回?cái)?shù)值,顯示IE的主版本號(hào) 

function getIEVer(){

    var ua = navigator.userAgent; //獲取用戶端信息

    var b = ua.indexOf ("MSIE "); //檢測(cè)特殊字符串"MSIE"的位置

    if(b < 0){

        return 0;

    }

    return parseFloat(ua.substring(b + 5, ua.indexOf("; ",b) ));//截取版本號(hào),并轉(zhuǎn)換為數(shù)值

}

直接調(diào)用該函數(shù)即可獲取當(dāng)前IE瀏覽器的版本號(hào)。

console.log (getlEVer() );        //返回類似數(shù)值:10

IE瀏覽器版本眾多,一般可以使用大于某個(gè)數(shù)字的形式進(jìn)行范圍匹配,因?yàn)闉g覽器是向后兼容的。

【示例3】使用同樣的方法可以檢測(cè)其他類型瀏覽器的版本號(hào),下面的示例是檢測(cè)Firefox瀏覽器的版本號(hào)。

function getFFVer(){

    var ua = navigator.userAgent;

    var b = ua.indexOf("Firefox/");

    if(b < 0) {

        return 0;

    }

    return parseFloat(ua.substring (b + 8,ua.lastlndexOf("\ .")));

}

console.log (getFFVer () ) ;     //返回類似數(shù)值: 64

    對(duì)于Opera等瀏覽器,可以使用navigator.userAgent屬性來獲取版本號(hào),只不過其用戶端信息與IE有所不同,如Opera/9.02 (Windows NT 5.1; U; en),根據(jù)這些格式可以獲取其版本號(hào)。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部