2010-05-03 96 views
42

如何在IE8中禁用缓存? 我们正在做Javascript开发并在IE8中测试它,但是我们必须在每次更改Javascript文件时清除缓存。如何禁用InternetExplorer中的缓存8

+1

如果您遇到问题,用户可能也会遇到问题。最好使用其中一个未接受的答案来强制从服务器进行刷新。 – user420667 2013-10-16 20:30:30

回答

65

转到Internet选项。在通用选项卡下,在浏览历史点击设置。选择“每次访问网页”单选按钮。

这不会“禁用”缓存本身,但它应该解决您的底层问题 - 每次都应该重新加载JS文件。

+0

这项工作会100%的时间吗? – portoalet 2010-05-03 03:06:28

+0

这不是我能保证的,你只需要测试它。 – EMP 2010-05-03 03:58:09

+6

以我的经验,这不适用于包含JavaScript的嵌套页面或控件。 – 2011-03-09 21:38:35

16

Ctrl + F5应该导致整个页面刷新,包括所有缓存的javascript。

有时候,你仍然需要清除缓存,因为即使Ctrl + F5也不行,因为无法理解的原因,IE甚至无法在100%的时间内“刷新”。

+1

hm这对发展是相当危险的..然后 – portoalet 2010-05-03 03:05:43

11

如果失败,查询字符串一个随机参数将做到这一点:?

的index.html A = 346456

3

按Ctrl ++德尔打开清除隐私数据对话框(或从安全菜单中选择它)。取消选中除前两项之外的所有内容,只清除缓存。

尽管如此,您不必清除缓存。如果您通过Web服务器(例如本地运行的IIS)访问您的js文件,则普通高速缓存控制机制应该有效。如果他们没有,Ctrl + F5通常可以解决问题。

+0

问题是,在生产中,我们希望浏览器使用缓存,因为javascripts很大。你在谈论哪种缓存控制机制? – portoalet 2010-05-03 03:04:53

+0

我在谈论开发和测试。 HTTP的'Last-Modified','If-Modified-Since'和'ETag'头文件让浏览器和服务器判断一个文件是否被修改,如果有,更新浏览器的缓存版本。 – josh3736 2010-05-03 03:41:05

+0

太棒了,工作!我的问题是CSS改变时没有渲染。 'Ctrl + Shift + Del'是***不工作,但是'Ctrl + F5'最终清除了缓存。 – 2013-07-05 14:17:10

5

为了设置关闭浏览器缓存。按照下面的说明:

MS IE

  1. 从菜单中选择 “工具” 为IE5 或 “视图” IE4
  2. 选择 “Internet选项”,在 “Internet临时文件”
  3. 部分点击“设置”
  4. 选择“每次访问该页面”为“检查更新版本的存储页面” 保存设置 我希望这可以帮助请检查
+1

对于IE8和IE9,请转到“Internet选项” - >“常规”选项卡。在“浏览历史记录”部分中,单击“设置”按钮,然后在“Internet临时文件”部分下选择“每次访问网页”,然后单击“确定”。 – furman87 2012-01-06 21:06:54

+0

与IE 10(桌面版)相同。 – BrainSlugs83 2012-10-12 18:11:20

10

加载JavaScript这种方式。

<html> 
... 
<script type="text/javascript"> 
document.write('<script src="yourscript.js?'+Math.random()+'"></script>'); 
</script> 
... 
</html> 

编辑:如果这不是显而易见的,因为很快你就会进入生产删除此代码!

+2

只有在开发的时候才能做到这一点,因为缓存可以加快优秀浏览器的页面加载速度。但是,这样做会使得难以找回,所以也许可以使用一个变量。 – 2012-08-12 07:58:20

+0

它真的看起来像黑客,可以很容易地忘记将其删除,然后投入生产。 – 2013-12-03 04:51:29

0

也许更简单的方法不让用户刷新浏览器只是重命名js文件(和css)。这对我来说很有效...因为服务器在.js文件之后不喜欢随机数

+1

另一个缺点是只是在文件末尾添加一个随机*查询字符串*(即“http://mysite.com/myscript.js?random=B6646B155E”,其中random是每次不同的值 - 服务器应该忽略它,但浏览器将避免使用缓存版本。) 当你想强制所有的客户端获得最新的脚本(不仅仅是你的开发机器)和B)时,这是非常有用的。有权访问服务器设置(例如页面过期时)。 – BrainSlugs83 2012-10-12 18:09:18

2

如果您的JavaScript文件是从子目录提供exclusivley,那么您可以启用该目录的即时内容到期在IIS中。我最近有这个问题,从一个子目录提供内容,这是我找到的最快,最简单的解决方案。

+1

这听起来像是最好的解决方案,它适用于任何服务器(不仅仅是IIS)。 – 2012-06-29 05:41:19

1

打开IE调试工具(F12),在菜单上选择Cache,然后选择始终从服务器刷新。这确实意味着您需要保持调试工具的打开状态。

4

命中的“Fn F12”打开开发者工具

单击缓存

选择“从服务器始终刷新”

刷新应该清除缓存,但也有快速的每次从缓存菜单访问缓存清除或在开发工具打开时处于活动状态的快捷方式。

*注意 - 您必须保持开启工具窗口打开,不必先行,但必须保持打开状态,以便缓存保持禁用状态。