navigator对象的主要属性介绍

  • 内容
  • 评论
  • 相关

之前整理过一篇文章,传送门,介绍了navigator对象的属性,但是介绍的比较少,感觉不是太实用,特今天整理一下在项目中实际用到的东西。
navigator.appCodeName(不准确)
:属性是一个只读字符串,声明了浏览器的代码名。

在所有以 Netscape 代码为基础的浏览器中,它的值是 "Mozilla"。为了兼容起见,在 Microsoft 的浏览器中,它的值也是 "Mozilla",同时在safari在浏览器的console里运行navigator.appCodeName得出的结果还是"Mozilla",所以这个看起来并不实用,因为IE、chrome、safari返回的都是“Mozilla”。

navigator.appName(不准确):返回所使用浏览器的名称。由于兼容性问题,HTML5 规范允许该属性返回 "Netscape"。该属性并不一定能返回正确的浏览器名称。在基于 Gecko 的浏览器 (例如 Firefox)和基于 WebKit 的浏览器(例如 Chrome 和 Safari)中,返回的浏览器名称都是 "Netscape"。

navigator.appVersion(已废弃):属性可返回浏览器的平台和版本信息。该属性是一个只读的字符串。该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

navigator.platform:属性是一个只读的字符串,声明了运行浏览器的操作系统和(或)硬件平台。可能的值有: "Win32", "Linux i686", "MacPPC", "MacIntel"等。

navigator.userAgent(用的最多,也可以说相对更准确):属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。主要是各家浏览器厂商都想要自己的浏览器被其他的兼容,所以都会或多或少的加上一些其他的信息在里面。
代码:

var browserName=navigator.userAgent.toLowerCase(); 
//区分手机端还是PC端
isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(browserName));
//判断浏览器
isIE = /msie/i.test(browserName) && !/opera/.test(browserName);
isIE6 = /msie 6.0/i.test(browserName);
isIE7 = /msie 7.0/i.test(browserName);
isIE8 = /msie 8.0/i.test(browserName);
isFirefox = /firefox/i.test(browserName);
isChrome = /chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName);
isOpera = /opera/i.test(browserName);
isSafari = /webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName));
//判断微信
isWeixin = /micromessenger/i.test(browserName);

navigator.cookieEnabled:属性可返回一个布尔值,如果浏览器启用了 cookie,该属性值为 true。如果禁用了 cookie,则值为 false。

navigator.onLine:属性是一个只读的布尔值,声明了系统是否处于脱机模式。
事件:

window.addEventListener("offline", function(e) {alert("offline");})
window.addEventListener("online", function(e) {alert("online");})

navigator.geolocation:返回地理定位信息(h5)

navigator.mimeTypes:返回浏览器支持的Mime类型

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注