JS如何判斷瀏覽器類型和詳細區(qū)分IE各版本瀏覽器
今天用到JS判斷瀏覽器類型,于是就系統(tǒng)整理了一下,便于后期使用。
/*
* 描述:判斷瀏覽器信息
* 編寫:LittleQiang_w
* 日期:2016.1.5
* 版本:V1.1
*/
//判斷當前瀏覽類型
function BrowserType()
{
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("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判斷是否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)
{
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 if(fIEVersion == 11)
{ return "IE11";}
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()
{
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器
if(isIE)
{
return "1";
}
else
{
return "-1";
}
}
//判斷是否是IE瀏覽器,包括Edge瀏覽器
function IEVersion()
{
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判斷是否IE瀏覽器
var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判斷是否IE的Edge瀏覽器
if(isIE)
{
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 if(fIEVersion == 11)
{ return "IE11";}
else
{ return "0"}//IE版本過低
}
else if(isEdge)
{
return "Edge";
}
else
{
return "-1";//非IE
}
}
以上代碼通過測試,可用!
但存在一個問題,即IE5與IE7瀏覽器暫不能區(qū)分,以下是IE5與IE7下userAgent的信息;通過userAgent發(fā)現(xiàn),簡單的通過以上方法,無法正確區(qū)分IE5和IE7。期待該問題的解決方案?。?!
IE5: userAgent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; 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; InfoPath.2; .NET4.0E)"
IE7: userAgent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; 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; InfoPath.2; .NET4.0E)"
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- IE瀏覽器下JS腳本提交表單后,不能自動提示問題解決方法
- JS編寫兼容IE6,7,8瀏覽器無縫自動輪播
- js實現(xiàn)保存文本框內(nèi)容為本地文件兼容IE,chrome,火狐瀏覽器
- JS 組件系列之Bootstrap Table 凍結(jié)列功能IE瀏覽器兼容性問題解決方案
- JS實現(xiàn)獲取圖片大小和預(yù)覽的方法完整實例【兼容IE和其它瀏覽器】
- javascript 判斷當前瀏覽器版本并判斷ie版本
- JavaScript自定義瀏覽器滾動條兼容IE、 火狐和chrome
- JavaScript兼容瀏覽器FF/IE技巧
- Javascript在IE和Firefox瀏覽器常見兼容性問題總結(jié)
- JavaScript 判斷瀏覽器是否是IE
相關(guān)文章
JavaScript實現(xiàn)兩個Table固定表頭根據(jù)頁面大小自行調(diào)整
正如標題所言兩個Table固定表頭,可根據(jù)頁面大小自行調(diào)整使用JavaScript實現(xiàn),具體的示例如下,感興趣的朋友可以參考下2014-01-01
JavaScript?中的數(shù)據(jù)類型Number
這篇文章主要介紹了JavaScript?中的數(shù)據(jù)類型Number,Number?類型使用?IEEE?754?格式表示整數(shù)和浮點值,下文相關(guān)詳細資料介紹,需要的小伙伴可以參考一下2022-04-04
three.js中正交與透視投影相機的實戰(zhàn)應(yīng)用指南
在three.js中攝像機的作用就是不斷的拍攝我們創(chuàng)建好的場景,然后通過渲染器渲染到屏幕中,下面這篇文章主要給大家介紹了關(guān)于three.js中正交與透視投影相機應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-08-08
javascript 瀏覽器判斷 綁定事件 arguments 轉(zhuǎn)換數(shù)組 數(shù)組遍歷
javascript 瀏覽器 判斷 綁定事件 arguments 轉(zhuǎn)換數(shù)組 數(shù)組遍歷等函數(shù)2009-07-07
Javascript調(diào)用函數(shù)方法的幾種方式介紹
這篇文章主要介紹了Javascript調(diào)用函數(shù)方法的幾種方式介紹,本文講解了func()、(function(arg){})(window)、func.bind(sth)()、func.call()、func.apply()等5種方式,需要的朋友可以參考下2015-03-03

