Safari では、戻るボタンをクリックしたときに古い YouTube ビデオを読み込むときに問題が発生します。 onunload="" (「Safari 5 の戻るボタンでのキャッシュの防止」を参照) を body タグに追加しようとしましたが、この場合は機能しません。
Safari がページ上のキャッシュから読み込まれないようにする方法はありますか?
これらの答えはすべて少しハック的です。最新のブラウザ (Safari) では、onpageshow ソリューション、
onpageshow
しかし、遅いデバイスでは、リロードする前の一瞬からキャッシュされたビューが表示されることがあります。これに対処する正しい方法は、以下に示すように、サーバー応答に Cache-Control を正しく設定することです。
'キャッシュ制御'、'キャッシュなし、max-age=0、再検証する必要があります、ストレージなし'
問題は バック キャッシュ によって発生します。ユーザーが移動するときにページの完全な状態を保存する必要があります。ユーザーが戻るボタンを使用して戻ると、ページはキャッシュから非常に迅速にロードされます。これは、HTML コードのみをキャッシュする通常のキャッシュとは異なります。
bfcache がページをロードするとき、onload イベントはトリガーされません。代わりに、onpageshow イベントの persisted プロパティを確認できます。最初のページ読み込み時には false に設定されます。ページが bfcache からロードされるときに true に設定されます。
onload
persisted
Kludgish の解決策は、ページが bfcache からロードされるときに強制的にリロードすることです。
jQuery を使用している場合は、次の手順を実行します。
これらの答えはすべて少しハック的です。最新のブラウザ (Safari) では、
でのみ動作します。 リーリーonpageshow
ソリューション、しかし、遅いデバイスでは、リロードする前の一瞬からキャッシュされたビューが表示されることがあります。これに対処する正しい方法は、以下に示すように、サーバー応答に Cache-Control を正しく設定することです。
'キャッシュ制御'、'キャッシュなし、max-age=0、再検証する必要があります、ストレージなし'
問題は バック キャッシュ によって発生します。ユーザーが移動するときにページの完全な状態を保存する必要があります。ユーザーが戻るボタンを使用して戻ると、ページはキャッシュから非常に迅速にロードされます。これは、HTML コードのみをキャッシュする通常のキャッシュとは異なります。
bfcache がページをロードするとき、
onload
イベントはトリガーされません。代わりに、onpageshow
イベントのpersisted
プロパティを確認できます。最初のページ読み込み時には false に設定されます。ページが bfcache からロードされるときに true に設定されます。Kludgish の解決策は、ページが bfcache からロードされるときに強制的にリロードすることです。
リーリーjQuery を使用している場合は、次の手順を実行します。
リーリー