「戻る」ボタンをクリックしたときに Safari がページをキャッシュしないようにする
P粉295728625
P粉295728625 2024-01-21 15:00:44
0
2
418

Safari では、戻るボタンをクリックしたときに古い YouTube ビデオを読み込むときに問題が発生します。 onunload="" (「Safari 5 の戻るボタンでのキャッシュの防止」を参照) を body タグに追加しようとしましたが、この場合は機能しません。

Safari がページ上のキャッシュから読み込まれないようにする方法はありますか?

P粉295728625
P粉295728625

全員に返信(2)
P粉514001887

これらの答えはすべて少しハック的です。最新のブラウザ (Safari) では、onpageshow ソリューション、

でのみ動作します。 リーリー

しかし、遅いデバイスでは、リロードする前の一瞬からキャッシュされたビューが表示されることがあります。これに対処する正しい方法は、以下に示すように、サーバー応答に Cache-Control を正しく設定することです。

'キャッシュ制御'、'キャッシュなし、max-age=0、再検証する必要があります、ストレージなし'

いいねを押す +0
P粉495955986

問題は バック キャッシュ によって発生します。ユーザーが移動するときにページの完全な状態を保存する必要があります。ユーザーが戻るボタンを使用して戻ると、ページはキャッシュから非常に迅速にロードされます。これは、HTML コードのみをキャッシュする通常のキャッシュとは異なります。

bfcache がページをロードするとき、onload イベントはトリガーされません。代わりに、onpageshow イベントの persisted プロパティを確認できます。最初のページ読み込み時には false に設定されます。ページが bfcache からロードされるときに true に設定されます。

Kludgish の解決策は、ページが bfcache からロードされるときに強制的にリロードすることです。

リーリー

jQuery を使用している場合は、次の手順を実行します。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート