从网站上让iPhone/智能手机震动,这是否可能?

4
我正在使用PHP、jQuery等构建一个小型问答游戏。我已经让每个玩家将自己的智能手机用作“蜂鸣器”按钮。我想知道是否可以让手机震动,以便给用户一个更好的按下按钮的反馈。
我找到了一个震动API,但iOS不支持它(我有一个iPhone来测试它)。
这是我能找到的唯一信息,有人知道其他的吗?
2个回答

4

是的,可以使用HTML5的震动API实现。要让手机震动,请使用以下代码:

navigator.vibrate(1000);

然而,在执行此语句之前,您应该检查浏览器是否支持振动API。您可以通过以下方式进行检查:

if (window.navigator && window.navigator.vibrate) {
   // Vibration supported
} else {
   // Vibration not supported
}

或者这样:
if ('vibrate' in navigator) {
   // Vibration supported
} else {
   // Vibration not supported
}

你还可以定义震动模式。只需传递一个包含 [震动,暂停,震动,暂停...] 的数组即可实现,如下所示:
// Vibrate for 3 seconds, pause for half a second, vibrate for 2 seconds, pause for half a second, vibrate for 1 second    
navigator.vibrate([3000, 500, 2000, 500, 1000]);

为了让手机停止震动,您可以使用以下任一方法:
navigator.vibrate(0);

或者:

navigator.vibrate([]);

Source: tutplus


4
iOS 中是否有震动的方法? - gidzior

4

您可以使用Phonegap/Cordova将网页内容打包成本地应用程序。然后,您将可以访问所有(或大多数)本机手机功能。

请注意,使用JS进行振动仍然被广泛不支持,而本机功能将在所有设备上正常工作。


你说得没错,但这只是一个小游戏,只是为了我和朋友们玩玩,不想为了这个私人小事花费在应用商店、谷歌市场等上架的费用 :) - Legarndary
是的,我完全理解。但是我不确定你现在有其他选择。顺便说一下,在手机上使用应用程序无需发布它(在Android上非常简单,在iPhone上稍微困难一些)。 - Shomz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接