Jquery モバイルと戻るボタンの機能に問題があります。
表示時にリモートサーバーで ajax リクエストを実行するページがあります。Ajax は、pagebeforeshow イベントを通じて起動されます。複数の HTML ファイルを使用しているため、このイベントは [data-role="page"] 属性を持つ div に添付されます。
<div data-role="page" data-theme="b" id="Favorites">
<div data-role="content" data-theme="b">
<div id="Ajax">
DISPLAY AJAX RESULT CONTAINING LINK TO OTHER HTML PAGE
</div>
</div>
</div>
これがJavaScriptです:
$('#Favorites').on('pagebeforeshow', function(event) {
LaunchAjax();
});
これは、ページが初めて表示されたときに正常に機能しています。ただし、ajax の結果には、ユーザーがたどることができる別のページへのリンクが含まれています。ユーザーがリンクをたどると、(jquery mobile で生成された) 戻るボタンを表示して、ajax の結果を含む初期ページに戻るようにします。
ただし、戻るボタンをクリックすると、最初のページが表示されますが空白です。ajaxによって生成された最後の結果を表示するか、少なくともajax関数を再起動して初期結果を表示する方法が必要です。
私はJQMキャッシュで遊んでみました:
$.mobile.page.prototype.options.domCache = true;
しかし、これで問題は解決せず、DOM 要素が正しくキャッシュされていないように見えます (別の html ファイルを使用していることが原因かもしれません)。
phonegap を使用して Chrome デスクトップと Android でアプリをテストしましたが、両方に問題があります。
誰もこれを行う正しい方法を持っていますか?
どうもありがとう
よろしくお願いします。