JavaScript 檢測瀏覽器類型和版本號
■知識點
檢測瀏覽器類型和版本就比較容易,用戶只需要根據(jù)不同瀏覽器類型匹配特殊信息即可。
■實例設(shè)計
【示例1】下面的方法能夠檢測當(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)用該對象的屬性,如果是對應(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對象的userAgent屬性可以獲得瀏覽器的完整版本號。針對IE瀏覽器來說,它是在"MSIE"字符串后面帶一個空格,然后跟隨版本號及分號。因此,可以設(shè)計一個如下的函數(shù)獲取IE的版本號。
//獲取IE瀏覽器的版本號
//返回數(shù)值,顯示IE的主版本號
function getIEVer(){
var ua = navigator.userAgent; //獲取用戶端信息
var b = ua.indexOf ("MSIE "); //檢測特殊字符串"MSIE"的位置
if(b < 0){
return 0;
}
return parseFloat(ua.substring(b + 5, ua.indexOf("; ",b) ));//截取版本號,并轉(zhuǎn)換為數(shù)值
}
直接調(diào)用該函數(shù)即可獲取當(dāng)前IE瀏覽器的版本號。
console.log (getlEVer() ); //返回類似數(shù)值:10
IE瀏覽器版本眾多,一般可以使用大于某個數(shù)字的形式進行范圍匹配,因為瀏覽器是向后兼容的。
【示例3】使用同樣的方法可以檢測其他類型瀏覽器的版本號,下面的示例是檢測Firefox瀏覽器的版本號。
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
對于Opera等瀏覽器,可以使用navigator.userAgent屬性來獲取版本號,只不過其用戶端信息與IE有所不同,如Opera/9.02 (Windows NT 5.1; U; en),根據(jù)這些格式可以獲取其版本號。
點擊加載更多評論>>