$(document).ready()
ページ上のフォームにいくつかの変更を加えるjQueryを含むPHPページがあります。これはうまくいきます。しかし、このページに来て別のページに行き、ブラウザから「戻る」を押してこのページに戻ってきた場合、$(document).ready()
機能がまったく実行されていないようです。これは FF と Chrome で発生しています。
document.ready
ユーザーがブラウザの戻るボタンを押して私のページに来た場合でも実行できる方法はありますか?
$(document).ready()
ページ上のフォームにいくつかの変更を加えるjQueryを含むPHPページがあります。これはうまくいきます。しかし、このページに来て別のページに行き、ブラウザから「戻る」を押してこのページに戻ってきた場合、$(document).ready()
機能がまったく実行されていないようです。これは FF と Chrome で発生しています。
document.ready
ユーザーがブラウザの戻るボタンを押して私のページに来た場合でも実行できる方法はありますか?
私はまったく同じ問題を抱えていました。@Alfabravoのリンクは、ここで私を大いに助けてくれました: https://stackoverflow.com/a/12648785/679240
実際に必要なのは、ユーザーがページに入ったとき、または戻るボタンからページに到達したときにクリーンアップを行うことだったので、以下のコードは私にとっては十分に機能しました。
$(window).on('pageshow', function(){
console.info('Entered the page!');
});
最初にページに入ったときではなく、戻るボタンからページに到達したときを具体的に検出する必要がある場合は、少し状態を制御する必要がある場合があります。上記のリンクが役立つ場合があります。
私の使用例は、戻るボタンを押すとready
イベントが発生し、処理関数が正常に実行されることです。
それにもかかわらず、ページ データの一部がまだ古くなっていることがわかりました。
console.log()
すべての関数が実際に呼び出されていることを主張するために、いくつかの s を入れました。
私の特定の状況では、ページが読み込まれると、サーバーからデータを読み込むために AJAX が呼び出されます。実際、キャッシュされていたのは API からの応答であることがわかりました!!!
もちろんそうでした!
私の解決策は簡単でした。
新しく生成されたタイムスタンプを追加しました
new Date().getTime();
AJAX 呼び出しの URL へのクエリ パラメータとして使用すると、返されたデータは新鮮なものでした。