navigator 常用API的使用及其使用场景
一、概述
Navigator 接口表示用户代理的状态和标识。 它允许脚本查询它和注册自己进行一些活动。
可以使用只读的 window.navigator 属性检索navigator对象。
navigator是由Netscape Navigator 2最早引入浏览器的,现在已经成为客户端标识浏览器的标准。只要浏览器启用JavaScript,navigator对象就一定存在。但是与其他BOM对象一样,每个浏览器都支持自己的属性。
二、常用API及其使用场景
在JavaScript高级程序设计(第四版)一书中对navigator对象的属性/方法多达四十个左右,下面列举一些个人认为在项目开发中较常用或可能用到的API以及其作用。
属性/方法 | 说明 |
---|---|
appCodeName | 通常都是Mozilla,即使在非Mozilla浏览器中也是如此 |
appName | 浏览器全名 |
appVersion | 浏览器版本。通常与实际的浏览器版本不一致 |
cookieEnabled | 返回布尔值,表示是否启用了cookie |
deviceMemory | 返回单位为GB的设备内存容量 |
mediaDevices | 返回可用的媒体设备 |
hardWareConcurrency | 返回设备的处理器核心数量 |
javaEnable | 返回布尔值,表示浏览器是否启用了Java |
language | 返回浏览器的主语言 |
languages | 返回浏览器偏好的语言数组 |
online | 返回布尔值,表示浏览器是否联网 |
userAgent | 返回浏览器的用户代理字符串 |
vendor | 返回浏览器的厂商名称 |
说明:各个API的示例均在Googe Chrome浏览器的Console面板中进行演示。
2.1 appCodeName
返回当前浏览器的内部“开发代号”名称。 不能保证此属性返回的值是正确的。
2.2 appName
以 DOMString 的形式返回浏览器官方名称。 不能保证此属性返回的值是正确的
2.3 appVersion
以 DOMString 的形式返回浏览器版本。不能保证此属性返回的值是正确的。
2.4 cookieEnabled
navigator.cookieEnabled 返回一个布尔值,来表示当前页面是否启用了 cookie。本属性为只读属性
2.5 deviceMemory
deviceMemory 只读属性返回千兆字节为单位的大概的机器内存。这个值是一个2的次方数除以1024,舍去小数点的近似值。并且,上下边界也用来保护那些拥有非常低端或者高端设备的用户的隐私。
2.6 mediaDevices
mediaDevices 是 Navigator 只读属性,返回一个 MediaDevices 对象,该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享。
2.7 hardWareConcurrency
返回可用的逻辑处理器核心数。
2.8 javaEnabled
返回Boolean表明浏览器是否支持Java。
此方法应该用一个变量或常量来接受返回值,并且此返回值总是为false
2.9 language
返回DOMString表示用户的首先语言,通常是浏览器用户界面的语言。当未知的时,返回null。
2.10 languages
返回一个表示用户已知语言的DOMString数组,并按优先顺序排列。
2.11 online
返回Boolean 来表明浏览器是否联网。
2.12 userAgent
返回当前浏览器的用户代理。
2.13 vendor
返回当前所使用浏览器的浏览器供应商的名称。
总结
在开发中要根据业务需求来使用各API,比如在业务场景需要查看用户的媒体设备,那么就需要调用navigator的mediaDevices属性来进行业务的需求开发以及兼容性适配。要想熟练得使用这些API,还需要自身多勤多练。
navigator 常用API的使用及其使用场景相关推荐
- 【小程序开发必备】微信小程序常用API全介绍,附示例代码和使用场景
文章目录 1.网络请求相关API 1.1 wx.request 1.2 wx.uploadFile 1.3 wx.downloadFile 1.4 wx.connectSocket 2.页面跳转相关A ...
- uni-app H5兼容ios问题+微信扫一扫、微信支付等常用api代码封装
最近公司需要用uni开发一个项目,项目中遇到的问题记录一下,方便下次不采坑 场景: 使用wx自带sdk完成,扫一扫.微信登录.微信支付 引用方式: // index.html引入 &l ...
- Selenium Web 自动化 - Selenium常用API
Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作 1.1 用webdriver打开一个浏览器 1.2 最大化浏览器&关闭浏 ...
- 【Netty】NIO 网络通信 SelectionKey 常用 API 简介
文章目录 I . SelectionKey 简介 II . SelectionKey 事件简介 III . SelectionKey 常用 API 简介 I . SelectionKey 简介 1 . ...
- Object类、常用API
# [Object类.常用API] ## 主要内容 * Object类 * Date类 * DateFormat类 * Calendar类 * System类 * StringBuilder类 * 包 ...
- 华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~
华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~ 常用API 一.API概述 二.Scanner类 代码 三.Random类 代码 四.* ArrayList类 **存储基本数据类型 ...
- 人工智能常用 API
人工智能常用 API 转载 2016年07月13日 19:17:27 2047 机器学习与预测 1.AlchemyAPI 在把数据由非结构化向结构化的转化中运用得较多.用于社交媒体监控.商业智能 ...
- Bitmap详解(上)常用概念和常用API
前言: 图片的操作我相信大家都操作过,在算法层面大家往往都是把图片转成MAT矩阵处理的,而Android 开发层面大多数都是bitmap位图操作.接下来我将分算法层面以及android层面来讲解一下图 ...
- 【java】简述CGLIB常用API
1.概述 转载:简述CGLIB常用API 类似:[Spring]CGLIB动态代理 CGLIB,即Code Generation Library,是一个强大的.高性能的代码生成库.其被广泛应用于AOP ...
- Delphi 常用API 函数
Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...
最新文章
- 【5】C++语法与数据结构之STL_list学生管理系统_链表内排序_函数指针
- 信息学奥赛一本通(1258:【例9.2】数字金字塔)
- 24-[模块]-re
- WPF - ViewModle中关闭Window
- win ollvm环境_Python3 环境搭建
- MySQL常用命令基础操作
- kubernetes视频教程笔记 (22)-存储-Secret
- 【图像隐写】基于matlab GUI DWT+SVD数字水印 【含Matlab源码 939期】
- Anaconda安装过程中遇到的诡异事件
- Epicor 客制化 - 常用对象
- mac上解决Resource temporarily unavailable
- 小红帽Linux命令安装软件,linux-rpm功能及yum安装命令
- 【开发环境简称】PRD生产环境-常见环境英文缩写简称
- dismiss android,在 dialog.dismiss( ) 上,安卓的窗口甚至泄露了_dialog_开发99编程知识库...
- Kali Linux 安装教程和使用技巧
- Uncaught SyntaxError: Octal literals are not allowed in strict mode.
- matlab实现kuan滤波,用Matlab设计一个0.5-20HZ的带通滤波器! - 程序语言 - 小木虫 - 学术 科研 互动社区...
- Fate集群 | 基于MNIST数据集的模型训练+模型预测 详细过程
- 3Dmax软件设置捕捉点的显示大小方法
- error: command ‘gcc‘ failed: No such file or directory