この記事では、js で IE キャッシュを自動的にクリアするいくつかの方法を詳しく紹介します。自分のニーズに応じて、自分に合った方法を自由に選択できます。js を学習するすべての人に役立つことを願っています
。 js 内の IE キャッシュを自動的にクリアする — 一般的に使用されます
動的ファイル (index.asp?id=... や Index.aspx?id=... など) の場合、経験豊富なプログラマはブラウザがデータをキャッシュしないようにする方法を知っていると思います
しかし、静的ファイル (css、jpg、gif など) の場合、どのような状況でブラウザによるキャッシュを禁止する必要がありますか?
方法 1: Dojo では、次の簡単な方法を使用できます。 dojo.xhrGet (post を含む) およびその他のメソッドには、preventCache 属性が含まれます。この属性の意味は次のとおりです。「ブラウザーのキャッシュはデフォルトで有効になっています。そうでない場合は、ブラウザーのキャッシュが無効であることを保証するために、別のパラメーターが自動的に追加されます。」この属性を「true」に割り当てるだけです。
方法 2: document.write("
ver=113 の 113 はバージョン番号で、通常は CVS またはその他のツールによって生成される開発バージョン番号です。
このようにして、静的ファイルを必要なときにキャッシュできます。バージョンが更新された場合は、最新バージョンを取得し、キャッシュを更新します。
js はブラウザのキャッシュ 2 をクリアします。 ブラウザとの間のネットワーク通信の負荷を軽減します。サーバーでは、js、css、変更された画像などの静的ファイルをキャッシュする必要があることがよくあります。つまり、これらのファイルの HTTP 応答ヘッダーに Expires および Cache-Control パラメータを追加し、キャッシュ時間を指定することで、ブラウザーは、一定期間内に HTTP リクエスト (強制更新を除く) にメッセージを送信しません。この期間中にサーバーの js、css、または画像ファイルが何度も更新されたとしても、ブラウザーのデータは依然として残ります。最もキャッシュできる古いデータをブラウザに取得させる方法はありますか? 変更された最新のデータはどうすればよいでしょうか? はい、その方法は、ajax を使用してサーバーから最新のファイルをリクエストすることです。リクエスト ヘッダー If-Modified-Since および Cache-Control は次のようになります: $.ajax({
type: "GET" ,
url: "static/cache.js",
beforeSend : function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader( "Cache-Control","no-cache");
jqueryここでは が使用されます
このようにして、ブラウザはローカルの古いファイルを最新のファイルに置き換えます
もちろん、ここで、js、css、および画像がサーバーによって更新されたことを認識する必要があります。 Cookie と時間バージョンを使用することで解決する必要があります。
jquery には 1.2 以降 ifModified パラメータとキャッシュ パラメータがあるため、ヘッダーを自分で追加する必要はありません
応答がそれ以降に変更された場合にのみリクエストの成功を許可します。これは、Last-Modified ヘッダーをチェックすることで行われ、ヘッダーは無視されます。
cache Boolean デフォルト: true
jQuery 1.2 で追加され、false に設定すると、リクエストしたページが強制的に無効になります。ブラウザによってキャッシュされました。
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
ifModified :true
});
上記は私が皆さんのためにまとめたもので、将来的に皆さんのお役に立てれば幸いです。
関連記事:
ブラウザのキャッシュを防ぐためにAjaxリクエストアドレスの後に乱数を追加する理由
ブラウザがAjaxリクエストを覚えていて前後に移動できる問題の解決策
PHP ログイン (Ajax 送信データとバックグラウンド検証)
以上がIEブラウザのキャッシュをクリアするJSメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。