js判斷瀏覽器,包括Edge瀏覽器
/*
* 描述:判斷瀏覽器資訊
* 編寫:LittleQiang_w
* 日期:2016.1.5
* 版本:V1.1
*/
//判斷當前瀏覽型別
function BrowserType()
{undefined
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串
var isOpera = userAgent.indexOf("Opera") > -1; //判斷是否Opera瀏覽器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器
var isEdge = userAgent.indexOf("Edge") > -1; //判斷是否IE的Edge瀏覽器
var isFF = userAgent.indexOf("Firefox") > -1; //判斷是否Firefox瀏覽器
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判斷是否Safari瀏覽器
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判斷Chrome瀏覽器
if (isIE)
{undefined
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if(fIEVersion == 7)
{ return "IE7";}
else if(fIEVersion == 8)
{ return "IE8";}
else if(fIEVersion == 9)
{ return "IE9";}
else if(fIEVersion == 10)
{ return "IE10";}
else
{ return "0"}//IE版本過低
}//isIE end
if (isFF) { return "FF";}
if (isOpera) { return "Opera";}
if (isSafari) { return "Safari";}
if (isChrome) { return "Chrome";}
if (isEdge) { return "Edge";}
}//myBrowser() end
//判斷是否是IE瀏覽器
function isIE()
{undefined
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器
if(isIE)
{undefined
return "1";
}
else
{undefined
return "-1";
}
}
==========================
補充
原來的函式寫法:對於新版的ie11已經不支援了
function isIE(){undefined
if (window.navigator.userAgent.indexOf("MSIE")>=1)
return true;
else
return false;
}
ie10及以上不支援ie瀏覽器的判斷了,因為ie11已經不支援document.all了,下面是支援ie11的版本的,當然ie6-8也是支援的
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
=================================
補充
IE6~IE10的瀏覽器特徵明顯,存在msie字串,而IE11去掉了msie字串,可以通過rv後面的版本號識別IE11,具體方法如下:
function IETester(userAgent){undefined
var UA = userAgent || navigator.userAgent;
if(/msie/i.test(UA)){undefined
return UA.match(/msie (\d+\.\d+)/i)[1];
}else if(~UA.toLowerCase().indexOf('trident') && ~UA.indexOf('rv')){undefined
return UA.match(/rv:(\d+\.\d+)/)[1];
}
return false;
}
IETester();//不傳引數返回當前IE版本,如果不是IE核心瀏覽器,返回false
IETester('Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko');//傳userAgent字串,用來判斷其他IE瀏覽器的版本,該示例返回11.0
轉載地址:http://www.cnblogs.com/garfieldzhong/p/5815187.html