我目前正在用html5构建一个网络应用程序,它需要能够检测用户何时摇动手机以及他们摇动手机的速度。我一直在浏览,但似乎找不到任何关于如何实现这一点的例子。我知道 html5 有一个加速度计可以检测手机的方向,但是它是如何检测用户摇动它的速度的呢?
我也在我的 iPhone 上测试这个,虽然理想情况下我希望它也能在 Android 设备上工作。想法?例子也很棒。谢谢!
我目前正在用html5构建一个网络应用程序,它需要能够检测用户何时摇动手机以及他们摇动手机的速度。我一直在浏览,但似乎找不到任何关于如何实现这一点的例子。我知道 html5 有一个加速度计可以检测手机的方向,但是它是如何检测用户摇动它的速度的呢?
我也在我的 iPhone 上测试这个,虽然理想情况下我希望它也能在 Android 设备上工作。想法?例子也很棒。谢谢!
Shake.js看起来是一个很好的库——它提供了一个自定义的 'shake' 事件并且在现代浏览器上受支持。这是他们文档中有关如何实现它的示例设置:
<script src="shake.js"></script>
<script>
var myShakeEvent = new Shake({
threshold: 15, // optional shake strength threshold
timeout: 1000 // optional, determines the frequency of event generation
});
// Start listening to device motion
myShakeEvent.start();
// Register a shake event listener on window with your callback
window.addEventListener('shake', shakeEventDidOccur, false);
//function to call when shake occurs
function shakeEventDidOccur () {
//put your own code here etc.
alert('shake!');
}
</script>
http://
请注意,在不安全的浏览上下文(例如)中,这在某些浏览器中不起作用