几个不常用的 Web API

1. 设备震动 vibrate

Navigator.vibrate() 方法使设备(有震动硬件)产生有频率的震动。若设备不支持震动,该方法将无效。若某震动方式已经在进行中(当该方法调用时),则前一个震动方式停止,新的取而代之。

该方法若因为提供无效的参数使得无法使设备震动,它将返回false,否则返回true。若振动方案导致长时间的震动,它会被截断:最大震动时长取决于每个浏览器的具体实现。

1.1 判断设备是否支持该 API

var supportsVibrate = "vibrate" in navigator;

1.2 用法:

// 使用设备震动,参数为震动长度 单位 ms

window.navigator.vibrate(400);

// 也可以传入0或者一个全是0的数组,表示暂停震动

window.navigator.vibrate(0);

// 也可以传入一个包含数字的数组,奇数位的数值是震动秒数,偶数位为等待秒数, 比如下面这样就是代表震动300ms,暂停30ms,震动100ms,暂停30ms,震动100ms...

window.navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100,30,100]); // Vibrate 'SOS' in Morse.

2. 重力感应方向控制 DeviceOrientation

deviceorientation 事件在方向传感器输出新数据的时候触发。

用法:

function fn(event){
    console.log(event);
    console.log(event.gamma); // alpha:设备沿着Z轴的旋转角度
    console.log(event.beta); // beta:设备沿着X轴的旋转角度
    console.log(event.Alpha); // gamma:设备沿着Y轴的旋转角度
}

window.addEventListener('deviceorientation', fn);

3. 网络连接和断开 Online/Offline

navigator.onLine 是一个值为 true/false (true 表示在线, false 表示离线) 的属性。

用法:

window.addEventListener('online',function(){
	console.log('网络已连接!');
})

window.addEventListener('offline',function(){
	console.log('网络已断开!');
})

3. 待续。。。

原文地址:https://www.cnblogs.com/cckui/p/10141783.html