8

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

我也在我的 iPhone 上测试这个,虽然理想情况下我希望它也能在 Android 设备上工作。想法?例子也很棒。谢谢!

4

1 回答 1

2

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://请注意,在不安全的浏览上下文(例如)中,这在某些浏览器中不起作用

于 2020-11-29T00:59:27.263 回答