- Navigation对象代表当前浏览器的信息,通过该对象可以来识别不同的浏览器
- 由于历史原因,Navigation对象中的大部分属性都已经不能识别浏览器了
- 一般只会使用userAgent来判断浏览器的信息
- userAgent的返回值是一个字符串,这个字符串中包含有用来描述浏览器信息的内容,不同的浏览器会有不同的userAgent
- 在IE11中已经将微软和IE相关的标识都去掉了,所以基本不能通过UserAgent来识别一个浏览器是否是IE了
- 如果通过UserAgent不能判断,还可以通过一些浏览器特有的对象来判断浏览器的信息。比如:ActiveXObject
- 在IE浏览器中才存在ActiveXObject对象,但是不能通过window.ActiveXObject来判断浏览器是否为IE11,因为这个方法用的太多,被IE11检测到了,当进行if(window.ActiveXObject)判断时,IE11以下的浏览器会返回true但是IE11会返回false,需要通过in运算符来判断IE11浏览器中是否含有ActiveXObject对象。if("ActiveXObject" in window)
- 前端的一生之敌----IE
| 方法 | 说明 |
|---|---|
| appCodeName | 返回浏览器的引擎名称,如返回“Mozilla” |
| appMinorVersion | 返回浏览器的次级版本 |
| appName | 返回浏览器的名称 |
| appVersion | 返回浏览器的平台和版本信息 |
| browserLanguage | 返回浏览器的语言 |
| cookieEnabled | 返回指明浏览器中是否启用cookie的布尔值 |
| cpuClass | 返回浏览器系统的cpu等级 |
| onLine | 返回指定系统是否处于脱机模式的布尔值 |
| platform | 返回运行浏览器的操作系统平台 |
| systemLanguage | 返回操作系统使用的默认语言 |
| userAgent | 返回由客户端发送给服务器的user-agent |
| userLanguage | 返回用户设置的操作系统的语言 |
本文介绍了如何通过Navigation对象的userAgent属性和ActiveXObject对象来识别浏览器类型,尤其是针对IE浏览器。由于IE11移除了明显的标识,通过UserAgent字符串已难以判断,而利用'ActiveXObject'in window的特性可以识别IE11。同时,列举了Navigation对象的多个属性,如appName、appVersion等,虽然历史遗留属性已失去识别作用,但它们仍提供了关于浏览器和系统的信息。
7098

被折叠的 条评论
为什么被折叠?



