JavaScript で GET リクエストを使用してページを取得すると、そのリンクをクリックしたり、アドレス バーに入力した場合と同じように、ブラウザはページをキャッシュしますか?
そうでない場合、既にページを取得しているので、(プログラムで) ブラウザのキャッシュに追加する方法はありますか?
JavaScript で GET リクエストを使用してページを取得すると、そのリンクをクリックしたり、アドレス バーに入力した場合と同じように、ブラウザはページをキャッシュしますか?
そうでない場合、既にページを取得しているので、(プログラムで) ブラウザのキャッシュに追加する方法はありますか?
ブラウザーが Web ページをフェッチするときも、GET 要求を使用しています。すべての GET リクエストがブラウザの同じキャッシュ メカニズムを通過する可能性がありますが、その仕組みを形式化した仕様はありません。
リソースを要求してブラウザのキャッシュに通常の処理を行わせる以外に、ブラウザ自身のキャッシュに何かをプログラムで追加する方法はありません。すべての一般的なブラウザーがこの方法でキャッシュするかどうかを知りたい場合は、サーバー側のヘッダー設定が適切に設定されていることを確認し (キャッシュできるようにするため)、各ブラウザーをテストして、次のようにキャッシュされていることを確認する必要があります。あなたがしたい。
同じページ内にいて、同じページから何かが複数回要求されないようにしたい場合は、そのページの JavaScript コード内に独自のキャッシュを実装できます。最初に要求されたときに結果を javascript 変数に格納するだけで、このリソースをフェッチするために実装する関数は、独自のローカル ストレージ オブジェクトをチェックして、リソースが既に存在するかどうかを確認します。そうでない場合は、GET を介して要求し、結果を保存します。1 つの特定のリソースにハードコードされた単純なバージョンを作成することも、URL と結果とタイムスタンプを保存してより一般的なキャッシュ動作を実装するより一般的なバージョンを作成することもできます。
ページ間でキャッシュする必要があり、テストで組み込みのブラウザー キャッシュが適切でないことが判明した場合は、ローカル ストレージを使用してデータを (おそらくタイムスタンプと共に) 保存し、要求する前にローカル ストレージを確認することができます。 GET リクエストで。