JavaScript BOM对象-Navigator浏览器对象

 2016年03月31日    61     声明


Navigator对象提供了用户正在使用的用户代码(浏览器)的相关信息,可以通过window.navigator或直接使用navigator来引用该对象,它允许脚本查询并注册自己的一些活动信息。


  1. Navigator对象
  2. Navigator对象属性
  3. Navigator对象方法

Navigator对象使我们可以查看运行解的应用程序(浏览器)的一些信息,使用如下方式可以获取对这个对象的引用:

var navigatorObj = window.navigator;
// 或
var navigatorObj = navigator;

示例:使用navigator对象,查看用户正在使用哪种浏览器:

var sUsrAg = navigator.userAgent;
var sBrowser = '';

if(sUsrAg.indexOf("Chrome") > -1) {
  sBrowser = "Google Chrome";
} else if (sUsrAg.indexOf("Safari") > -1) {
  sBrowser = "Apple Safari";
} else if (sUsrAg.indexOf("Opera") > -1) {
  sBrowser = "Opera";
} else if (sUsrAg.indexOf("Firefox") > -1) {
  sBrowser = "Mozilla Firefox";
} else if (sUsrAg.indexOf("MSIE") > -1) {
  sBrowser = "Microsoft Internet Explorer";
}

alert("你正在使用:" + sBrowser);


不同浏览器对Navigator对象的实现有所不同,我们仅介绍一些W3C HTML5 Navigator规范中定义的一些标准属性。这些属性都是只读的,所以不应该对这些属必于进行继承或重写:

返回浏览器的内部代码名,其返回值总是Mozilla

window.navigator.appCodeName; // Mozilla


返回浏览器的名称,HTML5标准规定,其返回值总是Netscape

window.navigator.appName; // Netscape


返回浏览器的版本号。

window.navigator.appVersion; 
// 5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36


返回由BatteryManager提供的电量信息。

window.navigator.battery; 
// 返回值类似如下
{ charging: false,
  chargingTime: Infinity,
  ……}


返回由NetworkInformation对象提供的设备连接信息。

window.navigator.connection;


返回由Geolocation对象提供的设备位置信息。

window.navigator.geolocation; 
// 返回值类似如下
Geolocation {getCurrentPosition: function, watchPosition: function, clearWatch: function}


返回处理器的线程数。

window.navigator.hardwareConcurrency; // 4


返回用户所使用的语言

window.navigator.language; // zh-CN


返回用户的首选语言列表。

window.navigator.languages; // ["en-US", "en", "zh-CN", "zh", "zh-TW", "da"]


返回用户浏览器所支持的MIME类型。

window.navigator.mimeTypes; // MimeTypeArray {0: MimeType, 1: MimeType, 2: MimeType, 3: MimeType, 4: MimeType, 5: MimeType, 6: MimeType, length: 7}


返回一个布尔值,表示浏览器是否处于在线状态。

window.navigator.onLine; // true


返回表示当前操作系统信息的字符串。

window.navigator.oscpu; // Intel Mac OS X 10.11


返回表示浏览器所在系统平台的字符串。

window.navigator.platform; // MacIntel


返回浏览器己安装的插件列表。

window.navigator.plugins; // PluginArray {0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, 4: Plugin, length: 5}


返回表示当前代理(浏览器)信息的字符串。

window.navigator.userAgent; // Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36


Navigator对象中方法同样也有规范中定义的标准方法,而不同的浏览器也会扩展出一些非标准方法。下面是对标准方法的一些介绍:

window.navigator.registerContentHandler(mimeType, uri, title);

允许网站注册一个其可处理的特定MIME类型的内容。

navigator.registerContentHandler(
  "application/vnd.mozilla.maybe.feed",
  "http://www.itbilu.com/?foo=%s",
  "My Feed Reader"
);


window.navigator.registerProtocolHandler(protocol, uri, title);

允许网站注册一个其可处理的特定的协议。

navigator.registerProtocolHandler("burger",
  "https://www.itbilu.com/?uri=%s",
  "Burger handler");


var successBool = window.navigator.vibrate(pattern);

设置设备的震动时长。需要设计支持,不支持时则不进行任何操作

window.navigator.vibrate(200); // 震动 200ms