Navigator.vibrate() - Web API 接口参考 编辑
Navigator.vibrate()
方法使设备(有震动硬件)产生有频率的震动。若设备不支持震动,该方法将无效。若某震动方式已经在进行中(当该方法调用时),则前一个震动方式停止,新的取而代之。
该方法若因为提供无效的参数使得无法使设备震动,它将返回false,否则返回true。若振动方案导致长时间的震动,它会被截断:最大震动时长取决于每个浏览器的具体实现。
语法
var successBool = window.navigator.vibrate(pattern);
- pattern
- 提供一个震动、暂停间隔的模式。每一个值表示交替震动或者暂停的毫秒数。你可以提供一个单个的值(震动一次的毫秒数)或者一个包含整数的数组来交替的震动、暂停、震动。详情参见 Vibration API。
传递一个 0
、一个空数组或者一个元素全部为 0
的数组会结束当前正在运行中的震动模式。
示例
window.navigator.vibrate(200); // vibrate for 200ms
window.navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100,30,100]); // Vibrate 'SOS' in Morse.
规范
Specification | Status | Comment |
---|---|---|
Vibration API | Recommendation | Linked to spec is the latest editor's draft; W3C version is a REC. |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 未实现 | 11.0 (11.0) moz 16.0 (16.0) (no prefix) [1] | 未实现 | 未实现 | 未实现 |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) webkit (Yes) (unprefixed) [2][3] | (Yes) webkit (Yes) (unprefixed) [2][3] | 11.0 (11.0) moz 16.0 (16.0) (no prefix) [1] | 未实现 | (Yes)[3] | 未实现 |
[1] 当震动模式太长或者其中一次震动的时长太长时,截至 Firefox 26,Gecko 将会抛出一个异常,而不是返回 false
(bug 884935)。从 Firefox 32 开始,Gecko 返回 true
,但是会将该模式截断 (bug 1014581)。
[2] 从 Chrome 55 开始,跨域的 iframe 中不支持该 API。
[3] 从 Chrome 60/Opera 47 开始,该方法需要一个用户手势。否则会返回 false
。
更多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论