一、概述

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的使用及其使用场景相关推荐

  1. 【小程序开发必备】微信小程序常用API全介绍,附示例代码和使用场景

    文章目录 1.网络请求相关API 1.1 wx.request 1.2 wx.uploadFile 1.3 wx.downloadFile 1.4 wx.connectSocket 2.页面跳转相关A ...

  2. uni-app H5兼容ios问题+微信扫一扫、微信支付等常用api代码封装

    最近公司需要用uni开发一个项目,项目中遇到的问题记录一下,方便下次不采坑 场景:         使用wx自带sdk完成,扫一扫.微信登录.微信支付 引用方式: // index.html引入 &l ...

  3. Selenium Web 自动化 - Selenium常用API

    Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作   1.1 用webdriver打开一个浏览器   1.2 最大化浏览器&关闭浏 ...

  4. 【Netty】NIO 网络通信 SelectionKey 常用 API 简介

    文章目录 I . SelectionKey 简介 II . SelectionKey 事件简介 III . SelectionKey 常用 API 简介 I . SelectionKey 简介 1 . ...

  5. Object类、常用API

    # [Object类.常用API] ## 主要内容 * Object类 * Date类 * DateFormat类 * Calendar类 * System类 * StringBuilder类 * 包 ...

  6. 华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~

    华为二面!!!被问常用API,这也太偏门了吧,我秀了一波hhhh~ 常用API 一.API概述 二.Scanner类 代码 三.Random类 代码 四.* ArrayList类 **存储基本数据类型 ...

  7. 人工智能常用 API

    人工智能常用 API 转载  2016年07月13日 19:17:27 2047 机器学习与预测 1.AlchemyAPI   在把数据由非结构化向结构化的转化中运用得较多.用于社交媒体监控.商业智能 ...

  8. Bitmap详解(上)常用概念和常用API

    前言: 图片的操作我相信大家都操作过,在算法层面大家往往都是把图片转成MAT矩阵处理的,而Android 开发层面大多数都是bitmap位图操作.接下来我将分算法层面以及android层面来讲解一下图 ...

  9. 【java】简述CGLIB常用API

    1.概述 转载:简述CGLIB常用API 类似:[Spring]CGLIB动态代理 CGLIB,即Code Generation Library,是一个强大的.高性能的代码生成库.其被广泛应用于AOP ...

  10. Delphi 常用API 函数

    Delphi 常用API 函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconic ...

最新文章

  1. 【5】C++语法与数据结构之STL_list学生管理系统_链表内排序_函数指针
  2. 信息学奥赛一本通(1258:【例9.2】数字金字塔)
  3. 24-[模块]-re
  4. WPF - ViewModle中关闭Window
  5. win ollvm环境_Python3 环境搭建
  6. MySQL常用命令基础操作
  7. kubernetes视频教程笔记 (22)-存储-Secret
  8. 【图像隐写】基于matlab GUI DWT+SVD数字水印 【含Matlab源码 939期】
  9. Anaconda安装过程中遇到的诡异事件
  10. Epicor 客制化 - 常用对象
  11. mac上解决Resource temporarily unavailable
  12. 小红帽Linux命令安装软件,linux-rpm功能及yum安装命令
  13. 【开发环境简称】PRD生产环境-常见环境英文缩写简称
  14. dismiss android,在 dialog.dismiss( ) 上,安卓的窗口甚至泄露了_dialog_开发99编程知识库...
  15. Kali Linux 安装教程和使用技巧
  16. Uncaught SyntaxError: Octal literals are not allowed in strict mode.
  17. matlab实现kuan滤波,用Matlab设计一个0.5-20HZ的带通滤波器! - 程序语言 - 小木虫 - 学术 科研 互动社区...
  18. Fate集群 | 基于MNIST数据集的模型训练+模型预测 详细过程
  19. 3Dmax软件设置捕捉点的显示大小方法
  20. error: command ‘gcc‘ failed: No such file or directory

热门文章

  1. 分布式ID生成器-订单号的生成(全局唯一id生成策略)
  2. effective C++ 读书笔记
  3. POJ-3368 Frequent values
  4. 格式工厂 vtt字幕 加入视频
  5. 一个小把戏算法,获取大乐透,并且计算出最佳的结果(Qt C++ 和Android共用)
  6. 二、Esp32开发环境快速搭建(vscode+PlatformIO IED)
  7. oracle查询数字类溢出,有趣的数值溢出(一)
  8. 加密的pdf文件如何解密?
  9. 营业增加值公式简要解析
  10. pycharm 隐藏或显示文件类型