浏览器根对象navigator之对象属性概览
第1章 connection[试验]
navigator.connection 是只读的,提供一个NetworkInformation 对象来获取设备的网络连接信息。例如用户设备的当前带宽或连接是否被计量, 这可以用于基于用户的连接来选择高清晰度内容或低清晰度内容。
1.1 使用
下面是一个侦测用户设备连接状态变化的例子:
|
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; var type = connection.type; function updateConnectionStatus() { console.log("设备的网络连接从" + type + "变成了" + connection.type); } connection.addEventListener('typechange', updateConnectionStatus); |
1.2 事件
与online和offline事件有关系。
第2章 plugins
返回一个 PluginArray 类型的对象,包含了当前所使用的浏览器安装的所有插件。该属性不属于任何一个标准。
2.1 使用
下例演示了如何在一个页面上输出浏览器上安装的所有插件。 Plugin对象的属性有: name, filename, description, 和 version:
|
var L = navigator.plugins.length; document.write(L.toString().bold() + " Plugin(s)".bold()); document.write("<br>"); document.write("Name | Filename | description".bold()); document.write("<br>"); for(var i=0; i<L; i++) { document.write(navigator.plugins[i].name); document.write(" | "); document.write(navigator.plugins[i].filename); document.write(" | "); document.write(navigator.plugins[i].description); document.write(" | "); document.write(navigator.plugins[i].version); document.write("<br>"); } |
第3章 mimeTypes
返回一个MimeTypeArray对象,其中包含可被当前浏览器识别的MimeType对象的列表。
mimeTypes 是一个 MimeTypeArray 对象,其中含有 length 属性、item(index) 和 namedItem(name) 方法。
3.1 示例
下面介绍了如何使用mimeTypes:
|
function isJavaPresent() { return 'application/x-java-applet' in navigator.mimeTypes; } function getJavaPluginDescription() { var mimetype = navigator.mimeTypes['application/x-java-applet']; if (mimetype === undefined) { // no Java plugin present return undefined; } return mimetype.enabledPlugin.description; } |
第4章 serviceWorker[试验]
serviceWorker是navigator的只读属性,返回ServiceWorkerContainer对象,它提供ServiceWorker的注册,删除,升级和通信的访问。
4.1 ServiceWorkerContainer
ServiceWorkerContainer接口为 service worker提供一个容器般的功能,包括对service worker的注册,卸载 ,更新和访问service worker的状态,以及他们的注册者。
相关详情参见MDN网站
第5章 credentials[试验]
credentials属性返回CredentialsContainer接口,该接口可用于特征检测。
|
if ('credentials' in navigator) { navigator.credentials.get({password: true}) .then(function(creds) { //Do something with the credentials. }); } else { //Handle sign-in the way you did before. }; |
5.1 CredentialsContainer
Credential Management API 的 CredentialsContainer 接口提供了请求 credentials 和通知用户代理(当成功登陆或登出事件发生时)的方法。可通过 Navigator.credentials 获得该接口。
第6章 permissions[试验]
permissions 是 Navigator 读属性,返回一个可用于查询或更新某些APIs(由Permissions API覆盖)的权限状态的对象。
|
navigator.permissions.query({name:'geolocation'}).then(function(result) { if (result.state === 'granted') { showMap(); } else if (result.state === 'prompt') { showButtonToEnableMap(); } // 如果被拒绝,请不要做任何操作。 }); |
第7章 geolocation
geolocation 只读属性返回一个 Geolocation 对象,通过这个对象可以访问到设备的位置信息。这允许网站或应用根据用户的位置提供个性化结果。
第8章 mediaDevices
mediaDevices 是 Navigator 只读属性,返回一个 MediaDevices 对象,该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享。
|
'use strict'; // Put variables in global scope to make them available to the browser console. var video = document.querySelector('video'); var constraints = window.constraints = { audio: false, video: true }; var errorElement = document.querySelector('#errorMsg'); navigator.mediaDevices.getUserMedia(constraints) .then(function(stream) { var videoTracks = stream.getVideoTracks(); console.log('Got stream with constraints:', constraints); console.log('Using video device: ' + videoTracks[0].label); stream.onended = function() { console.log('Stream ended'); }; window.stream = stream; // make variable available to browser console video.srcObject = stream; }) .catch(function(error) { if (error.name === 'ConstraintNotSatisfiedError') { errorMsg('The resolution ' + constraints.video.width.exact + 'x' + constraints.video.width.exact + ' px is not supported by your device.'); } else if (error.name === 'PermissionDeniedError') { errorMsg('Permissions have not been granted to use your camera and ' + 'microphone, you need to allow the page access to your devices in ' + 'order for the demo to work.'); } errorMsg('getUserMedia error: ' + error.name, error); }); function errorMsg(msg, error) { errorElement.innerHTML += '<p>' + msg + '</p>'; if (typeof error !== 'undefined') { console.error(error); } } |
第9章 其他
budget、usb、storage、presentation、webkitTemporaryStorage、webkitPersistentStorage等在谷歌中存在,而火狐并未实现,暂未了解。
浏览器根对象navigator之对象属性概览的更多相关文章
- 浏览器根对象document之方法概述
1.1 节点 筛选 getRootNode返回上下文的根节点. querySelector返回文档中匹配指定 CSS 选择器的第一个元素. querySelectorAll返回文档中匹配指定 CSS ...
- JavaScript浏览器检测之navigator 对象
一.使用客户端检测的原因 由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤. 虽然浏览器开发商在公共接口方面投入了很多精力,努力的去支持最常用的公共功能: 但在现实中 ...
- Navigator对象关于语言的属性
[摘要]在做国际化WEB项目的时候,遇到了一个根据用户浏览器所使用的自然语言切换默认语言版本的问题.于是,整理了这篇文章. 首先,W3Cschool关于Navigator的各个属性值说的很明确了,这里 ...
- JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。
Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...
- IE 浏览器不支持 ES6 Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性
[转]解决老浏览器不支持ES6的方法 现象: Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性或方法 解决方法: 安装babel 引入browser. ...
- 浏览器根对象window之performance
W3C性能小组引入的新的API,目前IE9以上的浏览器都支持. 为了解决当前性能测试的困难,W3C推出了一套性能API标准,各种浏览器对这套标准的支持如今也逐渐成熟起来.这套API的目的是简化开发者对 ...
- 浏览器根对象window之Location
1. Location Location 对象包含有关当前 URL 的信息.Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问. 1.1 Loc ...
- IE浏览器提示对象不支持“append”属性或方法
如下代码在IE浏览器中无法执行,提示对象不支持“append”属性或方法 var tImg = document.createElement("img"); tImg.setAtt ...
- BOM对象,math对象document对象的属性和操作和 事件的基本操作
Math对象 //该对象中的属性方法 和数学有关. abs(x) 返回数的绝对值. exp(x) 返回 e 的指数. floor(x) 对数进行下舍入. log(x) 返回数的自然对数(底为e). m ...
随机推荐
- JAVA并发编程学习笔记------结构化并发应用程序
1. Executor基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程相当于消费者,如果要在程序中实现一个生产者-消费者的设计,最简单的方式通常就是使用Executor 2. Exe ...
- C语言 for循环之阶乘的算法
int n; scanf("%d", &n); int fact = 1; int i = 1; while ( i <= n ) { fact *=i; i++; ...
- Android 开发服务类 01_ServletForXML
Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOExc ...
- Java_单例模式
主要介绍单例模式的一种写法.注意事项.作用.测试,以Java语言为例,下面代码是目前见过最好的写法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- Smali 语法文档
可以选择保存成pdf格式,查询起来挺方便的 if v0==0 go cond_0 if-eqz v0, :cond_0 if v0!=0 go cond_0 if-nez v0, :cond_0 ...
- SQL2008无法连接到(local),该账户当前被锁定,所以Sa用户登陆失败
1 安装小结 换了电脑,很多软件都得重装,期间报了很多问题,比如说先装vs2008再装sql server2008r2会报一个“存在2008早期版本”,通过查找,百度一系列的坑爹之路后,我还是把vs2 ...
- win7 iis7 asp.net 编译器错误消息: CS0016:
编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root ...
- asp.net web api 跨域,带cookie
官网上有一个介绍 http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api 但是只支 ...
- Python__组合数据类型
组合数据:集合类型.序列类型(元组类型.列表类型).字典类型 集合: 定义:集合是多个元素的无序组合.(无序,唯一,Python中要求放入集合中的数据类型是不可变的). 集合用大括号 {}表示,元素间 ...
- C#基础笔记(第十四天)
1.MD5加密 用户在数据库存密码需要进行再加密,这样一个过程叫MD5加密只要涉及到存用户的密码一定要用MD5加密MD5密码一般都是16进制的把一个密码转换成16进制的过程就叫MD5加密把字符串加密成 ...