如何在IE8中禁用缓存?
我们正在进行JavaScript开发,并在IE8中测试它,但每次对JavaScript文件进行更改时都必须清除缓存。
打开Internet选项。在常规选项卡下,在浏览历史中点击设置。选择"每次访问网页时"单选按钮。
这并不是完全禁用缓存,但它应该解决您的根本问题——JS文件应该每次重新加载。
Ctrl+F5将会刷新整个页面,包括所有已缓存的JavaScript。
但有时候,即使使用Ctrl+F5也无法生效,因为IE在某些情况下无法100%正确地执行“刷新”操作。
index.html?a=346456
以这种方式加载您的 JavaScript。
<html>
...
<script type="text/javascript">
document.write('<script src="yourscript.js?'+Math.random()+'"></script>');
</script>
...
</html>
编辑: 如果这不是很明显,请在进入生产环境之前立即删除此代码!
按下"Fn F12"打开开发者工具
点击缓存
选择"始终从服务器刷新"
每次刷新页面时都会清除缓存,但也可以通过缓存菜单或快捷键来快速访问缓存清除功能,这些功能在开发者工具打开时都是有效的。
*注意- 必须保留开发者工具窗口打开,它不必置于最前端,但必须保持打开状态才能禁用缓存。
Last-Modified
、If-Modified-Since
和 ETag
标头能够让浏览器和服务器判断文件是否已被修改,如果已经修改,则更新浏览器缓存的版本。 - josh3736Ctrl + Shift + Del
不起作用,然而Ctrl + F5
最终清除了缓存。 - Ian Campbell打开IE调试工具(F12),在菜单中选择缓存,然后选择始终从服务器刷新。这意味着您需要保持调试工具处于打开状态。
或许一种更简单的方法是不需要用户刷新浏览器,只需将js文件(和css)重命名即可。这就是我成功的做法……因为服务器不喜欢在.js文件之后加上随机数。