2010-12-02 19 views
1

私は、VS 2010で書かれたASP.NET 3.5 Webアプリケーションを持っています。私は、Scriptsフォルダにある.jsファイルへのスクリプトリファレンスを持つaspxを持っています。 .jsファイル内jQueryスクリプトのローカルホストへのキャッシュ

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script src="Scripts/HeaderControl.js" type="text/javascript"></script> 

私は単に私はそれが何だったか見ることができるように、ページ上の値を吐き出すために、アラートを使用したデバッグ文のだったそのうちの一つ、いくつかのさまざまな操作を行うためのjQueryを使用していますファイル。

if ($) { 
    $(document).ready(function() { 
     $("input[id='q']").click(function($e) { 
      alert("clicked"); 
     }); 
    }); 
} 

デバッグステートメント(アラート「クリック」)を削除するまで、これはすべてうまくいきました。 .jsから完全に削除すると、私はプロジェクトを再構築し、ローカルマシン上で実行するためにF5を押しましたが、の上の入力タグをクリックするとすぐに警告がポップアップし、「クリック」しました。 .jsが変更されたことをウェブアプリケーションに知らせるためにもう一度試してみましたが、入力タグをクリックするたびにアラートを表示し続けました。最終的に.jsの名前を完全に違うものに変更することにしました。その時点で.jsが変更されたことに気付き、入力タグをクリックすると警告が表示されなくなりました。

なぜこの.jsファイルがキャッシュされたのですか?それは非常に厄介な行為であり、私はそれが何を引き起こしているのかを知りたい。どんな助けもありがとう。ありがとう!

編集: ブラウザはIE7でした。私はそれがMozillaでもそれをしたかどうか確認することはしませんでした。それにもかかわらず、私は少なくとも100種類の.jsファイルを作成しています。私の唯一の違いは、この.jsはWebアプリケーションにありますが、通常はASP.NET Webサイトプロジェクトで作成しています。

+0

どのブラウザを使用していますか、他にどのアドオンをインストールしていますか、キャッシュをクリアしましたか?ハードリフレッシュを試しましたか? – jcolebrand

+0

正しくリコールすれば、IEでCtrl + F5を押してキャッシュを強制的に更新することができます。試してみます。 – RabidFire

+0

@RabidFire〜正しくリコールしていただきありがとうございますが、それはすべてのブラウザでそのように動作します。しかし、CCleanerのようなものを使うと、すべてのキャッシュを同時に(そして通常はAPIよりも速く) – jcolebrand

答えて

3

Shift +リフレッシュするか、ブラウザのキャッシュをクリアするだけです。でも、送信された応答でのキャッシュ・ヘッダーに応じて古いバージョンがまだ有効である場合は、新しいバージョン(If-Modified-Sinceリクエスト)をチェックしません

JavascriptをCSSファイル:

これ

は正常な動作です初めて。

URLの末尾にある?というクエリ文字列を入力すると、毎回新しいバージョンのファイルがあるかどうかを確認するブラウザ(Firefoxの少なくとも一部)が変更されると思います画像のように。これは開発中に役立つ可能性があります。

新しいバージョンのWebアプリケーションがリリースされたときに、ブラウザがキャッシュを完全に無視するように、ファイルにバージョンを追加する開発者もいます(?123)。とにかく更新されたバージョン(すべてのブラウザについてはわかりません)を探しているので、最後に疑問符をすでに持っていると、これがどれほど効果的かわかりません。

+0

+1で適切なヘッダを参照するようにすることができるので、AskerはHTTPリクエストについてもっと学びます... – jcolebrand

+0

非常に便利です。ありがとうございました。 – Jagd

関連する問題