检测html5手机中的抖动

Jes*_*ley 5 javascript html5 web-applications accelerometer shake

我正在构建一个html5的网络应用程序,此时需要能够检测到用户何时摇动手机以及它们晃动的速度.我一直在浏览,但似乎无法找到任何我如何实现这一点的例子.我知道html5有一个可以检测手机方向的加速度计,但它如何检测用户摇动它的速度?

我也在我的iPhone上测试这个,虽然理想情况下我也希望它能在Android设备上运行.思考?例子也很棒.谢谢!

Kyl*_*ard 2

shake.js看起来是一个很好的库 - 它提供了一个自定义的“摇动”事件,并且在现代浏览器上受支持。以下是他们文档中关于如何实现它的示例设置:

<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>
Run Code Online (Sandbox Code Playgroud)

请注意,当处于不安全的浏览上下文中时,这在某些浏览器中不起作用(例如http://