HTML5的Vibration API允许网页通过JavaScript让支持振动的设备产生震动,常用于移动端网页的游戏反馈或消息提醒。它主要通过navigator对象上的vibrate方法来完成控制。

Vibration API基本用法
在支持该特性的浏览器中,可以使用navigator.vibrate()函数。它接受一个数字或数字数组作为参数,单位均为毫秒。
单次震动
传入一个数字即可让设备震动指定时长:
// 让设备震动500毫秒
if (navigator.vibrate) {
navigator.vibrate(500);
} else {
console.log('当前浏览器不支持振动API');
}
间歇震动
传入数组时,奇数项表示震动时长,偶数项表示暂停时长:
// 震动200ms,停100ms,再震动200ms navigator.vibrate([200, 100, 200]);
停止震动
传入0或空数组可立即停止当前震动:
// 停止所有正在进行的震动 navigator.vibrate(0);
兼容性注意事项
该API主要在Android平台的Chrome等浏览器中支持,iOS的Safari目前并不支持。使用前应先判断navigator.vibrate是否存在,避免脚本报错。
| 浏览器 | 是否支持 |
|---|---|
| Android Chrome | 支持 |
| iOS Safari | 不支持 |
| 桌面Firefox | 部分支持 |
实际应用示例
下面示例在用户点击按钮后触发一段节奏震动:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>震动示例</title>
</head>
<body>
<button id="btn">点击震动</button>
<script>
document.getElementById('btn').addEventListener('click', function() {
if (navigator.vibrate) {
// 长震短停重复三次
navigator.vibrate([300, 100, 300, 100, 300]);
}
});
</script>
</body>
</html>
通过上述方法,就能用JavaScript轻松操作HTML5的Vibration API,为网页增加简单的物理反馈能力。
JavaScriptVibration_APIHTML5设备震动navigator_vibrate修改时间:2026-07-24 18:12:16