js判斷是否是ie瀏覽器且給出ie版本
- 怎麼去看瀏覽器的內核等信息 ---- js的全局對象window子屬性navigator.userAgent,這個屬性是包含了瀏覽器信息的相關信息,包括我們需要的瀏覽器內核
- navigator.userAgent這個值取出來是個字符串,可以通過string的 indexOf方法或者正則匹配來驗證關鍵字符串
- ie11和edge的判斷方式有所不同
function IEVersion() {
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
if(isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if(fIEVersion == 7) {
return 7;
} else if(fIEVersion == 8) {
return 8;
} else if(fIEVersion == 9) {
return 9;
} else if(fIEVersion == 10) {
return 10;
} else {
return 6;//IE版本<=7
}
} else if(isEdge) {
return 'edge';//edge
} else if(isIE11) {
return 11; //IE11
}else{
return -1;//不是ie瀏覽器
}
}
通過調用 IEVersion()可以獲得返回值,值如下
值 | 值類型 | 值說明 |
-1 | Number | 不是ie瀏覽器 |
6 | Number | ie版本<=6 |
7 | Number | ie7 |
8 | Number | ie8 |
9 | Number | ie9 |
10 | Number | ie10 |
11 | Number | ie11 |
'edge' | String | ie的edge瀏覽器 |
JQuery 判斷瀏覽器及其版本
JQuery 中用 方法 jQuery.browser 來判斷瀏覽器,返回值可以爲: safari opera msie mozilla。
當然有時候我們還需要區分版本 這就要用到 jQuery.browser.version
function JudgeBroswer() {
if($.browser.msie) {
alert("this is msie!"); //IE
}
else if($.browser.safari)
{
alert("this is safari!"); //Safari
}
else if($.browser.mozilla)
{
alert("this is mozilla!"); //Firefox
}
else if($.browser.opera) {
alert("this is opera"); //Opera
}
}
JQuery 源碼
var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
jQuery.browser = {
version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
safari: /webkit/.test(userAgent),
opera: /opera/.test(userAgent),
msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
};
jQuery 使用的是通過正則來匹配userAgent判斷瀏覽器的種類和版本. 例如:
//jQuery判斷瀏覽器是否爲IE6
$.browser.msie&&($.browser.version == "6.0")&&!$.support.style
//同樣jQuery判斷瀏覽器是否爲IE7
$.browser.msie&&($.browser.version == "7.0")