【发布时间】:2013-05-22 04:01:51
【问题描述】:
所以我的 javascript 文件正在被缓存。最初我只是将它们放在这样的脚本标签中:
<script type='text/javascript' src='js/example.js'></script>
现在我的理解是浏览器缓存GET请求是完全可以的。
由于我的应用程序正在开发中,我现在还不能允许这样做。
我对缓存的第二个理解是,如果GET 查询字符串不同,那么它不会将它们视为相同,因此不缓存它们,考虑到这一点,我将其添加到我的页面中:
<script type="text/javascript">
window.onload = function () {
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = "js/example.js?timestamp=" + new Date().getTime();
document.body.appendChild(s);
}
</script>
这会很好地加载文件,如下所示:
<script type="text/javascript" src="js/example.js?timestamp=1369194644133"></script>
但不知何故,这仍然被缓存。
我的浏览器(谷歌浏览器)也禁用了缓存,但它仍在发生。
为了提供我使用 IIS 7.5 的文件,我还禁用了该站点的缓存。
【问题讨论】:
-
你怎么知道它被缓存了?
-
因为我通过转到该位置检查了文件并将其与加载的文件进行了比较。
-
我会使用 fiddler(或类似工具)监控网站,以确保对您的 JS 文件的请求不会发送到您的服务器
-
您还可以使用浏览器开发人员工具栏的网络选项卡检查响应标头
-
我确定这只是一个错字,但在您的代码中,您有
s.src = "js/example?timestamp=" + new Date().getTime();- .js 扩展名在哪里?
标签: javascript caching iis browser-cache