在JavaScript中,我们可以使用window对象下的子对象navigator来获取浏览器的类型。

语法:

window.navigator.userAgent

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> alert(window.navigator.userAgent); </script> </head> <body> </body> </html>

在IE、chrome、Firefox浏览器预览效果分别如下图所示。

分析:

不同浏览器,会弹出相应的版本号信息。不过这3种浏览器都含有独一无二的字符:IE含有“MSIE”;Chrome含有“Chrome”;而Firefox含有“Firefox”。根据这个特点,我们可以判断当前浏览器是什么类型的浏览器。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> if (window.navigator.userAgent.indexOf("MSIE") != -1) { alert("这是IE"); }else if (window.navigator.userAgent.indexOf("Chrome") != -1) { alert("这是Chrome"); }else if (window.navigator.userAgent.indexOf("Firefox") != -1) { alert("这是Firefox"); } </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

indexOf()用于找出“某个字符串”在字符串中首次出现的位置,如果找不到就返回-1。indexOf()方法非常重要,我们在字符串那一章已经详细介绍过了,忘记的小伙伴记得回去看一下。

这里注意一下,对于IE浏览器来说,上面代码只能识别IE10及以下版本,如果想要识别所有的IE浏览器,我们应该使用下面代码来进行判断:

if (!!window.ActiveXObject || "ActiveXObject" in window){ alert("这是IE"); }

判断浏览器类型也是经常用到的,特别是在处理不同浏览器兼容性上,我们就需要根据浏览器的类型来加载对应的JavaScript处理代码。不过现在浏览器更新迭代非常快,随着IE逐渐退出历史舞台,很多时候我们已经不再需要考虑浏览器之间的兼容性了。