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.

规范

SpecificationStatusComment
Vibration APIRecommendationLinked 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!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support未实现11.0 (11.0) moz
16.0 (16.0) (no prefix) [1]
未实现未实现未实现
FeatureAndroid WebviewChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:118 次

字数:4982

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文