ホームページ  >  に質問  >  本文

「戻る」ボタンをクリックしたときに Safari がページをキャッシュしないようにする

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

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

P粉295728625P粉295728625271日前381

全員に返信(2)返信します

  • P粉514001887

    P粉5140018872024-01-22 13:43:52

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

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

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

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

    返事
    0
  • P粉495955986

    P粉4959559862024-01-22 09:58:12

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

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

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

    リーリー

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

    リーリー

    返事
    0
  • キャンセル返事