javascript如何識別瀏覽器型別

antzone發表於2017-04-12

本章節介紹一下如何識別當前比較流行的幾種瀏覽器。

通常檢測瀏覽器,使用navigator.userAgent屬性即可,裡面包含有瀏覽器的相關資訊。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
console.log(navigator.userAgent)

所以根據上面的特點我們就來對各個瀏覽器型別進行識別:

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript">
document.write('瀏覽器判別:');
var OsObject = navigator.userAgent;
// 包含「Opera」文字列
if (OsObject.indexOf("Opera") != -1) {
  document.write('瀏覽器是Opera');
}
// 包含「MSIE」文字列
else if (OsObject.indexOf("MSIE") != -1) {
  document.write('瀏覽器是Internet Explorer');
}
// 包含「chrome」文字列 ,不過360瀏覽器也照抄chrome的UA
else if (OsObject.indexOf("Chrome") != -1) {
  document.write('瀏覽器是chrome或360瀏覽器');
}
// 包含「UCBrowser」文字列
else if (OsObject.indexOf("UCBrowser") != -1) {
  document.write('瀏覽器是UCBrowser');
}
// 包含「BIDUBrowser」文字列
else if (OsObject.indexOf("BIDUBrowser") != -1) {
  document.write('瀏覽器是百度瀏覽器');
}
// 包含「Firefox」文字列
else if (OsObject.indexOf("Firefox") != -1) {
  document.write('瀏覽器是Firefox');
}
// 包含「Netscape」文字列
else if (OsObject.indexOf("Netscape") != -1) {
  document.write('瀏覽器是Netscape');
}
// 包含「Safari」文字列
else if (OsObject.indexOf("Safari") != -1) {
  document.write('瀏覽器是Safari');
}
else {
  document.write('無法識別的瀏覽器。');
}
</script>
</head>
<body>
 
</body>
</html>

上面的程式碼基本實現了識別功能,但是還不夠完美。

對於360瀏覽器和IE瀏覽器(比如IE11)可能有點問題,具體可以參與以下兩篇文章。

(1).判斷IE瀏覽器可以參閱js如何判斷IE瀏覽器的版本包括IE11一章節。

(2).360瀏覽器可以參閱檢測360瀏覽器javascript程式碼例項一章節。

相關文章