Titanium アプリの webview に含まれる jQuery Mobile アプリを作成しています。Android の戻るボタンを押すと、前のページに移動するのではなく、アプリを終了します (私の意見では、既定の動作として最適ではありません)。アプリの読み込み時に次のコードを実行することで、これを回避しようとしています。
document.addEventListener("deviceready", function () {
alert("adding back button event");
document.addEventListener("backbutton", function (e) {
alert("in back button event");
if ($.mobile.activePage.is('#homepage')) {
alert("exit app");
e.preventDefault();
navigator.app.exitApp();
}
else {
alert("go back");
navigator.app.backHistory()
}
}, false);
}, false);
この問題に関するスレッドはどこでも見られますが、backbutton イベントを使用するように言われていますが、まったく発生していません。上記のように deviceready イベントでラップすると、deviceready も呼び出されません。webview が何らかの形でこれらのイベントを抑制していますか、それとも jQuery Mobile でこれを行う別の方法はありますか?