navigator
主要用于获取浏览器的一些信息,常用的比如 userAgent
常用属性
属性 | 说明 |
---|---|
deviceMemory | 设备内存,单位 GB |
onLine | 设备是否联网,布尔值 |
platform | 系统平台,例 win32 |
onLine | 设备是否联网 |
clipboard | 用于访问系统剪切板的 Clipboard 对象 |
geolocation | 只读属性返回一个 Geolocation 对象 |
userAgent | |
storage | 返回浏览器 webStorage 对象 |
常用方法
属性 | 说明 |
---|---|
getBattery() | 获取设备电池信息,返回 promise |
sendBeacon() | 可发送少量数据到服务器,可用于埋点 |
vibrate() | 使设备振动 |
1. userAgent
示例:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54
常用于判断操作系统、浏览器名称、浏览器版本等信息
2. geolocation
Navigator.geolocation
只读属性返回一个 Geolocation
对象,利用该对象的方法可以获取到设备的地理定位。
注意:
- 必须授予打开网页的客户端位置权限;
- 必须使用https协议
兼容性:主流浏览器都支持
JS
// 获取当前位置
navigator.geolocation.getCurrentPosition(success, error, options);
// 监听位置改变
navigator.geolocation.watchPosition(success, error, options);
// 移除监听
const id = navigator.geolocation.watchPosition(success, error, options);
navigator.geolocation.clearWatch(id);
const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
function success(pos) {
const crd = pos.coords;
console.log("Your current position is:");
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
// 获取当前位置
navigator.geolocation.getCurrentPosition(success, error, options);
// 监听位置改变
navigator.geolocation.watchPosition(success, error, options);
// 移除监听
const id = navigator.geolocation.watchPosition(success, error, options);
navigator.geolocation.clearWatch(id);
const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
function success(pos) {
const crd = pos.coords;
console.log("Your current position is:");
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
3. storage
4. vibrate()
设备振动
JS
navigator.vibrate(ms); // 振动毫秒数
navigator.vibrate(ms); // 振动毫秒数