獲取瀏覽器版本信息
調用navigator對象的userAgent屬性可以獲取到瀏覽器版本,型號,內核,甚至安裝的插件等信息。
navigator.userAgent
主流瀏覽器的userAgent信息
一些主流瀏覽器的部分版本userAgent信息如下:
IE7
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64;Trident/7.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)
IE8
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/7.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)
IE9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.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)
IE11
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.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; rv:11.0) like Gecko
Edge 17
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134
Chrome 69
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36
Firefox 62
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Safari 60
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.1 Safari/605.1.15
Opera 56
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 OPR/56.0.3051.88
判斷瀏覽器是否是IE
可以通過ActiveXObject對象來判斷當前瀏覽器是否是IE瀏覽器。
if(!!window.ActiveXObject || "ActiveXObject" in window){
return true;
}else{
return false;
}
如上述代碼所示,只有在IE瀏覽器下,window.ActiveXObject會返回一個對象,!window.ActiveXObject會返回false,!!window.ActiveXObject則返回true,但是在IE11版本下,window.ActiveXObject會返回undefined,導致前面兩個表達式返回的結果正好相反,因此就需要再增加一個判斷,“ActiveXObject” in window在IE11版本下返回true,從而使得條件依然滿足。 在非IE瀏覽器下,上述條件將返回false,因為window.ActiveXObject會返回undefined且“ActiveXObject” in window也會返回false。
判斷主流瀏覽器版本
判斷主流瀏覽器版本的思路其實就是使用navigator.userAgent獲取到userAgent信息,然后對userAgent信息使用正則表達式進行匹配判斷。話不多說,直接上代碼。
function getBrowserInfo() {
var agent = navigator.userAgent.toLowerCase();
var regStr_ie = /msie [\d.]+;/gi;
var regStr_ff = /firefox\/[\d.]+/gi
var regStr_chrome = /chrome\/[\d.]+/gi;
var regStr_saf = /safari\/[\d.]+/gi;
var regStr_opera=/opera\/[\d.]+/gi;
var isIE = agent.indexOf("compatible") > -1 && agent.indexOf("msie" > -1); //判斷是否IE<11瀏覽器
var isEdge = agent.indexOf("edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器
var isIE11 = agent.indexOf('trident') > -1 && agent.indexOf("rv:11.0") > -1;
if (isIE) {
? var reIE = new RegExp("msie (\\d+\\.\\d+);");
? reIE.test(agent);
? var fIEVersion = parseFloat(RegExp["$1"]);
? if (fIEVersion == 7) {
? ? return "IE/7";
? } else if (fIEVersion == 8) {
? ? return "IE/8";
? } else if (fIEVersion == 9) {
? ? return "IE/9";
? } else if (fIEVersion == 10) {
? ? return "IE/10";
? }
} //isIE end
if (isIE11) {
? return "IE/11";
}
//firefox
if (agent.indexOf("firefox") > 0) {
? return agent.match(regStr_ff);
}
//Safari
if (agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0) {
? return agent.match(regStr_saf);
}
//Chrome
if (agent.indexOf("chrome") > 0) {
? return agent.match(regStr_chrome);
}
//opera
if(agent.indexOf("opera")>0){
? return agent.match(regStr_opera);
}
}
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。