如何根据手机震动调用Ajax?

发布于 2024-10-14 10:40:11 字数 144 浏览 4 评论 0原文

我正在尝试为移动设备制作我的第一个网络应用程序。 是否可以在android上捕获“摇动事件”?

我正在查看 jquery mobile 库,但没有震动事件或加速度计事件。

是否可以基于摇动事件进行Ajax调用???

谢谢阿曼。

I am trying to make my first web application for mobile devices.
Is it possible to capture the "shake event" on android?

I was looking on jquery moble library but there is no shake event or accelerometer events.

Is it possible to have a Ajax call based on shake event???

Thanks Arman.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

安人多梦 2024-10-21 10:40:11

伙计,也许一个插件可以做到这一点,但只有使用 JqueryMobile 我认为你将无法获得摇动事件。

以下是 Jquery 事件列表: http://jquerymobile.com/demos /1.0a2/experiments/api-viewer/index.html

Man, maybe a plugin could do that, but only with JqueryMobile I think you won't be able to get the shake event.

Here's a list of Jquery events: http://jquerymobile.com/demos/1.0a2/experiments/api-viewer/index.html

话少情深 2024-10-21 10:40:11

shake.js 提供对 shake 事件的支持,可以轻松实现所需的功能:

https://github .com/alexgibson/shake.js

shake.js provides support for a shake event that should make it easy to implement the desired functionality:

https://github.com/alexgibson/shake.js

若相惜即相离 2024-10-21 10:40:11

(Android)

您可以通过将 Javascript 接口附加到 WebView 来编写在加载时启动的“事件代理”脚本,以下是一些伪代码:

    [...]

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.addJavascriptInterface(new JavaScriptInterface(), "android");
    mWebView.loadUrl("file:///android_asset/www/index.html");

}

final class JavaScriptInterface {
    JavaScriptInterface () { }  
    public void startEventProxy() {
        // capture and pass shake events to javascript
    }   
}

(iPhone)

您可以与 Safari Mobile 中提供的设备运动 API 进行交互。

http://plugins.jquery.com/project/tilt

(Android)

You could script an "event proxy" that is started onLoad by attaching a Javascript interface to your WebView, here's some pseudocode:

    [...]

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.addJavascriptInterface(new JavaScriptInterface(), "android");
    mWebView.loadUrl("file:///android_asset/www/index.html");

}

final class JavaScriptInterface {
    JavaScriptInterface () { }  
    public void startEventProxy() {
        // capture and pass shake events to javascript
    }   
}

(iPhone)

You can interface with the Device Motion API, available in Safari Mobile.

http://plugins.jquery.com/project/tilt

总攻大人 2024-10-21 10:40:11

我不是这方面的专家,但我认为您无法通过移动浏览器访问加速度计、指南针和其他“本地”事件。如果你想用 javasrcipt、css 和 HTML 制作本地应用程序,你可以查看 phonegap, 罗德

编辑:罗兹适用于红宝石。它类似于 Rails 上的 ruby​​。所以你使用 ruby​​、javascript、HTML 和 css。

然后您就可以访问所有您想要的活动。

阅读本文以了解更多信息移动应用跨平台开发挑战:PhoneGap vs. Titanium v​​s. Rhodes

I am not an expert on this, but I do not think you have access to accelerometer, compass and other "local" events trough the mobile browser. If you want to make an local app with javasrcipt, css and HTML, you can look into phonegap, titanium or rhodes.

EDIT: Rhodes is for ruby. It similar to ruby on rails. So you use ruby, javascript, HTML and css.

Then you'll have access to all the events you want.

Read this for more info Mobile Apps cross-platform development challenge: PhoneGap vs. Titanium vs. Rhodes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文