Navigator对象提供了用户正在使用的用户代码(浏览器)的相关信息,可以通过window.navigator或直接使用navigator来引用该对象,它允许脚本查询并注册自己的一些活动信息。
Navigator对象Navigator对象属性- 2.1
Navigator.appCodeName - 2.2
Navigator.appName - 2.3
Navigator.appVersion - 2.4
Navigator.battery - 2.5
Navigator.connection - 2.6
Navigator.geolocation - 2.7
Navigator.hardwareConcurrency - 2.8
Navigator.language - 2.9
Navigator.languages - 2.10
Navigator.mimeTypes - 2.11
Navigator.onLine - 2.12
Navigator.oscpu - 2.13
Navigator.platform - 2.14
Navigator.plugins - 2.15
Navigator.userAgent
- 2.1
Navigator对象方法
1. 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);
2. Navigator对象属性
不同浏览器对Navigator对象的实现有所不同,我们仅介绍一些W3C HTML5 Navigator规范中定义的一些标准属性。这些属性都是只读的,所以不应该对这些属必于进行继承或重写:
2.1 Navigator.appCodeName
返回浏览器的内部代码名,其返回值总是Mozilla
window.navigator.appCodeName; // Mozilla
2.2 Navigator.appName
返回浏览器的名称,HTML5标准规定,其返回值总是Netscape
window.navigator.appName; // Netscape
2.3 Navigator.appVersion
返回浏览器的版本号。
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
2.4 Navigator.battery
返回由BatteryManager提供的电量信息。
window.navigator.battery;
// 返回值类似如下
{ charging: false,
chargingTime: Infinity,
……}
2.5 Navigator.connection
返回由NetworkInformation对象提供的设备连接信息。
window.navigator.connection;
2.6 Navigator.geolocation
返回由Geolocation对象提供的设备位置信息。
window.navigator.geolocation;
// 返回值类似如下
Geolocation {getCurrentPosition: function, watchPosition: function, clearWatch: function}
2.7 Navigator.hardwareConcurrency
返回处理器的线程数。
window.navigator.hardwareConcurrency; // 4
2.8 Navigator.language
返回用户所使用的语言
window.navigator.language; // zh-CN
2.9 Navigator.languages
返回用户的首选语言列表。
window.navigator.languages; // ["en-US", "en", "zh-CN", "zh", "zh-TW", "da"]
2.10 Navigator.mimeTypes
返回用户浏览器所支持的MIME类型。
window.navigator.mimeTypes; // MimeTypeArray {0: MimeType, 1: MimeType, 2: MimeType, 3: MimeType, 4: MimeType, 5: MimeType, 6: MimeType, length: 7}
2.11 Navigator.onLine
返回一个布尔值,表示浏览器是否处于在线状态。
window.navigator.onLine; // true
2.12 Navigator.oscpu
返回表示当前操作系统信息的字符串。
window.navigator.oscpu; // Intel Mac OS X 10.11
2.13 Navigator.platform
返回表示浏览器所在系统平台的字符串。
window.navigator.platform; // MacIntel
2.14 Navigator.plugins
返回浏览器己安装的插件列表。
window.navigator.plugins; // PluginArray {0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, 4: Plugin, length: 5}
2.15 Navigator.userAgent
返回表示当前代理(浏览器)信息的字符串。
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
3. Navigator对象方法
Navigator对象中方法同样也有规范中定义的标准方法,而不同的浏览器也会扩展出一些非标准方法。下面是对标准方法的一些介绍:
3.1 Navigator.registerContentHandler()
window.navigator.registerContentHandler(mimeType, uri, title);
允许网站注册一个其可处理的特定MIME类型的内容。
navigator.registerContentHandler( "application/vnd.mozilla.maybe.feed", "http://www.niefengjun.cn/?foo=%s", "My Feed Reader" );
3.2 Navigator.registerProtocolHandler()
window.navigator.registerProtocolHandler(protocol, uri, title);
允许网站注册一个其可处理的特定的协议。
navigator.registerProtocolHandler("burger",
"https://www.niefengjun.cn/?uri=%s",
"Burger handler");
3.3 Navigator.vibrate()
var successBool = window.navigator.vibrate(pattern);
设置设备的震动时长。需要设计支持,不支持时则不进行任何操作
window.navigator.vibrate(200); // 震动 200ms
