私はページに日付フィールドとJavaScriptを配置しました。ページがキャッシュからロードされます。昨日からの日付はまだフォームにあり、JavaScriptはページ読み込みと同じように実行されます。日付を比較すると、古いページを検出できます。
<input id="form_date" name="form_date" type="hidden" value="2017-12-19 17:52:08">
<script>
// Day compare
Date.prototype.sameDay = function(d) {
return this.getFullYear() === d.getFullYear()
&& this.getDate() === d.getDate()
&& this.getMonth() === d.getMonth();
};
var x_today = new Date();
var x_page_date = new Date($('#form_date').val());
if (console && !x_today.sameDay(x_page_date)){
console.log("Old page!");
console.log('page date: ', x_page_date);
console.log('today: ', x_today);
}
</script>
ここからページをリロードしたり、ユーザーに何をすべきかを尋ねたりできます。
おそらく日付入力を更新するタイムアウトを設定すると、問題が解決します。 Chromeがページの復元後にイベントリスナーを有効にしているかどうかはわかりません。 –
onDomReadyがトリガーされていませんか?たぶんあなたは時間を表示することによってこれをデバッグすることができます。常に1日待つ必要はありません。 – Alex
フィールドにはサーバーまたはJavaScriptが入力されていますか? – Alex