【问题标题】:Need Android or Iphone mobile devices back button click event in javascript or jquery需要在 javascript 或 jquery 中的 Android 或 Iphone 移动设备后退按钮单击事件
【发布时间】:2015-03-23 08:56:06
【问题描述】:

目前正在使用以下插件开发单页应用程序(HTML5):
- Sammy.js
- 淘汰赛.js
- 需要.js
- Jquery.js

此应用程序是为 Android、Iphone 和 Windows 移动设备开发的,很多场景都是基于点击设备后退按钮或浏览器后退按钮,有人知道如何处理设备后退按钮或浏览器后退按钮点击事件吗? 由于这是 SPA 框架,因此导航发生在由 Sammy.js 处理的路由哈希更改上,但在每个导航 sammy.before 事件被调用并且无法区分浏览器返回或设备返回或其简单导航。

【问题讨论】:

  • 你试过回答了吗??

标签: javascript android jquery ios knockout.js


【解决方案1】:

使用下面的代码

class WebAppInterface {
Context mContext;

WebAppInterface(Context c) {
    mContext = c;
}

@JavascriptInterface
public void showToast(String toast) {
    Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}

@JavascriptInterface
public void loginReady() {
    ((Activity)mContext).runOnUiThread(new Runnable() {
        @Override
        public void run() {
            WebView wv = (WebView) ((Activity) mContext).findViewById(R.id.webView);
            wv.loadUrl("javascript:setDeviceInfo('" + CommonUtilities.deviceInfo(mContext) + "');");
        }
    });
}

@JavascriptInterface
public void exitApp() {
    ((Activity) mContext).finish();
}
}

在您的活动中添加 JavaScriptInterface 并覆盖 onBackPressed

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

@Override
public void onBackPressed() {
    webView.loadUrl("javascript:goBack();");
}

在你的 JavaScript 中

function goBack() {
 Android.exitApp();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多