我有一个在VS 2010中编写的ASP.NET 3.5 Web应用程序。我有一个脚本引用驻留在脚本文件夹中的.js文件的aspx。本地主机上的jQuery脚本缓存
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/HeaderControl.js" type="text/javascript"></script>
的.js文件中的文件我使用jQuery做一些各种操作,其中之一是仅仅是用来警惕吐出页面上的价值,所以我可以看到它是一个调试语句。
if ($) {
$(document).ready(function() {
$("input[id='q']").click(function($e) {
alert("clicked");
});
});
}
这一切都很好,直到我去除调试语句(警告“点击”)。在完全从.js中删除它之后,我重建了该项目,并按F5在本地计算机上运行它,但只要点击上面的输入标记,警报仍会弹出并显示“已单击”。我试着让一个又一个试图让web应用程序意识到.js已被更改,但每次单击输入标记时都会一直显示警报。我终于决定将.js重命名为完全不同的东西,当时Web应用程序意识到.js已被更改,并且当我点击输入标签时它会停止显示警报。
那么为什么这个.js文件被缓存呢?这是一个非常恼人的行为,我很想知道究竟是什么导致了它。任何帮助,将不胜感激。谢谢!
编辑: 浏览器是IE7。我没有检查它是否也在Mozilla中。无论如何,我已经完成了至少100个不同的.js文件,而且我从未注意过这种行为。我唯一的区别是,这个.js是在一个web应用程序中,而通常我在ASP.NET网站项目中创建它们。
您正在使用哪种浏览器,您要安装哪些其他附加组件,您是否尝试清除缓存,是否尝试进行硬刷新? – jcolebrand 2010-12-02 17:24:10
如果我没有记错,可以在IE中按Ctrl + F5来强制缓存刷新。试一试。 – RabidFire 2010-12-02 17:24:38