JavaScript Window Navigator 知识点汇总
面向编程小白的详细解析指南
Navigator 对象是什么?
Navigator 对象就像是浏览器的”身份证”,它包含了当前使用的浏览器信息。通过这个对象,我们可以获取浏览器的名称、版本、语言、操作系统等信息。
在 JavaScript 中,我们可以直接使用 window.navigator
或简写 navigator
来访问这个对象。
// 获取 Navigator 对象
const browserInfo = window.navigator;
// 或者简写
const nav = navigator;
const browserInfo = window.navigator;
// 或者简写
const nav = navigator;
注意:Navigator 对象是只读的,你不能修改它的属性值,只能读取它们。
浏览器基本信息
navigator.userAgent
返回浏览器的完整信息字符串,包含浏览器名称、版本和操作系统等。
console.log(navigator.userAgent);
navigator.appName
返回浏览器的官方名称(如”Netscape”),但现在大多数浏览器都返回这个值。
navigator.appVersion
返回浏览器的版本信息(字符串形式)。
navigator.vendor
返回浏览器的供应商信息(如”Google Inc.”)。
系统与环境信息
navigator.platform
返回用户的操作系统平台(如”Win32″、”MacIntel”等)。
navigator.language
返回浏览器的主要语言(如”zh-CN”表示中文)。
const userLanguage = navigator.language;
navigator.languages
返回浏览器支持的所有语言数组,按优先级排序。
navigator.cookieEnabled
返回布尔值,表示浏览器是否启用了Cookie。
网络与连接信息
navigator.onLine
返回布尔值,表示浏览器是否联网。
if (navigator.onLine) {
console.log(“你正在联网!”);
} else {
console.log(“你已断网!”);
}
console.log(“你正在联网!”);
} else {
console.log(“你已断网!”);
}
navigator.connection
返回网络连接信息对象(如网络类型、速度等)。
const connection = navigator.connection;
console.log(“网络类型:”, connection.type);
console.log(“网络类型:”, connection.type);
navigator.sendBeacon()
用于在页面关闭时向服务器发送少量数据(常用于日志记录)。
硬件与设备功能
navigator.hardwareConcurrency
返回用户计算机可用的CPU核心数。
const cores = navigator.hardwareConcurrency;
navigator.deviceMemory
返回设备内存大小(以GB为单位)。
navigator.geolocation
用于获取用户的地理位置信息(需要用户授权)。
navigator.geolocation.getCurrentPosition(
position => console.log(position.coords)
);
position => console.log(position.coords)
);
navigator.mediaDevices
用于访问摄像头、麦克风等媒体设备。
浏览器功能支持检测
navigator.javaEnabled()
返回布尔值,表示浏览器是否支持并启用了Java。
navigator.pdfViewerEnabled
返回布尔值,表示浏览器是否支持内嵌PDF查看。
navigator.plugins
返回浏览器安装的插件列表(如Flash、PDF查看器等)。
const hasFlash = Array.from(navigator.plugins).some(
plugin => plugin.name.includes(‘Flash’)
);
plugin => plugin.name.includes(‘Flash’)
);
现代Web API
navigator.serviceWorker
用于注册和管理Service Workers(实现离线应用的核心技术)。
if (‘serviceWorker’ in navigator) {
navigator.serviceWorker.register(‘/sw.js’);
}
navigator.serviceWorker.register(‘/sw.js’);
}
navigator.storage
提供访问存储管理API,用于管理持久化存储。
navigator.clipboard
提供访问系统剪贴板的功能(需要用户授权)。
navigator.clipboard.writeText(“复制内容”);
navigator.vibrate()
使设备震动(适用于移动设备)。
实时 Navigator 信息
以下是你当前浏览器的 Navigator 信息:
浏览器名称
检测中…
浏览器版本
检测中…
操作系统
检测中…
首选语言
检测中…
是否联网
检测中…
CPU核心数
检测中…