測試代碼如下,html直接可以使用:
<html>
<head>
<script type="text/javascript">
/***
* 獲取當前瀏覽器類型
*/
function myBrowser() {
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) { //判斷是否Opera瀏覽器
return "Opera"
};
if (userAgent.indexOf("Firefox") > -1) { //判斷是否Firefox瀏覽器
return "FF";
};
if (userAgent.indexOf("Chrome") > -1) {
return "Chrome";
};
if (userAgent.indexOf("Safari") > -1) { //判斷是否Safari瀏覽器
return "Safari";
};
/*if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { //判斷是否IE瀏覽器
return "IE";
};*/
if(!!window.ActiveXObject || "ActiveXObject" in window){
return "ie";
}
}
function get(){
alert(myBrowser());
}
</script>
</head>
<body>
<div id="myBrower" onclick="get()" value="fxb">點我,看我是什麼瀏覽器</div>
</body>
</html>
說明1:
早前的 IE瀏覽器的 判斷一般是這樣的
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { //判斷是否IE瀏覽器
return "IE";
};
說明2:
之後的navigator.userAgent 返回的字符串改了,所有我們之前的方式判斷不出來了
網上簡介了一個大神的判斷方法,簡單好用
if(!!window.ActiveXObject || "ActiveXObject" in window){
return "ie";
}
解釋:
1).IE早些版本時,IE10及以下,window.ActiveXObject 返回一個對象,!window.ActiveXObject則變爲false,!!window.ActiveXObject則爲true,因爲是或||符號後續無需再判斷,返回true。
2).IE11中,window.ActiveXObject返回undefine,!window.ActiveXObject則變成了true,!!window.ActiveXObject則變成了false,進入 "window.ActiveXObject" in window判斷,該判斷條件在IE11下返回true。
3).其他非IE瀏覽器,如chrome,firefox,window.ActiveXObject都是undefine,!!window.ActiveXObject都是返回的false,而 "window.ActiveXObject" in window也是返回false,因此上述判斷函數在非IE瀏覽器中返回的都是false
(越寫越覺得,不爲別的,就爲自己,成長是痛苦的,但也是快樂的)
原文鏈接:https://blog.csdn.net/whupanyinghua/article/details/38026027