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

时间:2011-01-27 13:11:21

标签: jquery mobile-phones shake

我正在尝试为移动设备创建我的第一个Web应用程序。 是否有可能在Android上捕获“摇动事件”?

我正在寻找jquery moble库,但没有震动事件或加速计事件。

是否可以根据摇动事件进行Ajax调用???

谢谢阿曼。

4 个答案:

答案 0 :(得分:3)

男人,也许是一个插件可以做到这一点,但只有JqueryMobile我认为你将无法获得震动事件。

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

答案 1 :(得分:3)

shake.js为震动事件提供支持,以便轻松实现所需的功能:

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

答案 2 :(得分:2)

(机器人)

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

    [...]

    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中提供的Device Motion API进行交互。

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

答案 3 :(得分:1)

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

编辑:罗德是红宝石。它类似于轨道上的红宝石。所以你使用ruby,javascript,HTML和css。

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

阅读本文以获取更多信息Mobile Apps cross-platform development challenge: PhoneGap vs. Titanium vs. Rhodes