JavaScript。监听 iPhone 震动事件?
是否可以使用 JavaScript 监听 iPhone(或任何带有加速计的手机)震动事件?你知道,就像摇动 iPhone 来随机播放 iTunes 中的下一首歌曲一样,当 iPhone 摇动时,我想在我的网站上调用 JS 函数。
Is it possible to listen for an iPhone (or any mobile phone with accelerometer) shake event with JavaScript? You know like shaking the iPhone to shuffle the next song in iTunes I want to call a JS function on my website when the iPhone got shaken.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在最新的 iOS 更新 (4.2) 中,现在可以通过 Javascript 访问加速度计。
请参阅:http://www.mobilexweb.com/blog/safari-ios -加速计-websockets-html5
In the latest iOS update (4.2) the accelorometer is now accessible from Javascript.
See: http://www.mobilexweb.com/blog/safari-ios-accelerometer-websockets-html5
如果有人正在寻找的话,这里有一个使用加速度计进行震动检测的优雅实现:
https://github.com/alexgibson/shake.js
Here's an elegant implementation of shake detection using the accelerometer if anyone is looking for it:
https://github.com/alexgibson/shake.js
我刚刚在我的网络应用程序中实现了上述内容,该应用程序现在只有在设备震动发生后才会出现在页面上的控件。非常容易实现并且描述清晰。
https://github.com/alexgibson/shake.js
还值得注意的是,iOS模拟器的摇动手势不会触发该事件,但真正的设备摇动会触发该事件。
I just implemented the above in my web app which now has controls that appear on the page only after a device shake occurs. Very easy to implement and cleanly described.
https://github.com/alexgibson/shake.js
It is also worth noting that the iOS simulator's shake gesture doesn't trigger the event but a genuine device shake does.
不是作为一个直接的网络应用程序,不。如果您将 Web 应用程序封装在 PhoneGap 中,它会向在其中运行的网站公开加速计和其他仅限应用程序的功能,但缺点是人们必须实际下载您的应用程序 - 他们不能只浏览 Safari 中的网站。
Not as a straight web app, no. If you wrap your web app in PhoneGap, it exposes accelerometer and other app-only features to the site running within it, but the downside is that people have to actually download your app - they can't just browse to a site in Safari.