0

次のように、アプリの JavaScript で backbutton イベントをオーバーライドします。

document.addEventListener("backbutton", function (e) {
    e.preventDefault();
    navigator.app.backHistory();
}, false);

カーソルが webview (CordovaWebView) に存在する要素にフォーカスされていない場合は、戻るボタンを押しても問題ありません。私の場合は前のアクティビティに戻ります。

ただし、入力フィールドやボタンなどのフィールド フォームにカーソルがフォーカスされている場合、戻るボタンが機能しないか、キーボードが非表示になります。logcat は、戻るボタンを押したときにのみこれを表示します。

05-13 12:47:41.463: D/CordovaWebView(14396): The current URL is: file:///android_asset/www/login.html#register
05-13 12:47:41.463: D/CordovaWebView(14396): The URL at item 0 is:file:///android_asset/www/login.html#register
05-13 12:47:41.663: D/CordovaWebView(14396): The current URL is: file:///android_asset/www/login.html#register
05-13 12:47:41.663: D/CordovaWebView(14396): The URL at item 0 is:file:///android_asset/www/login.html#register
05-13 12:47:42.203: D/CordovaWebView(14396): The current URL is: file:///android_asset/www/login.html#register
05-13 12:47:42.203: D/CordovaWebView(14396): The URL at item 0 is:file:///android_asset/www/login.html#register

DroidGap 拡張機能で onBackPressed をオーバーライドしようとしましたが、まったく機能しません。

編集

言い忘れましたが、私は URL 状態に Backbone Router を使用しています。

4

1 に答える 1