如何禁用Internet Explorer 9中的缓存?


17

如何禁用Internet Explorer 9中的缓存?

我浏览到页面,然后单击链接。当我单击“上一步”时,我需要浏览器始终从网站上重新获取页面。


我尝试通过进入以下方式禁用浏览器缓存:

  • 工具类
  • 互联网选项
  • 在“ 浏览历史记录”下,单击“设置”。
  • 在“ 检查存储页面的较新版本”下,选择“ 每次访问该网页时”

    在此处输入图片说明

除非这不会导致Internet Explorer 9(32位(Windows 7(64位(专业)))在单击“ 后退”按钮时重新加载页面。

如何禁用Internet Explorer 9中的缓存?


当我单击“ 后退”按钮时,我使用Fiddler来查看Internet Explorer 9是否向服务器发出HTTP请求:

在此处输入图片说明

和Internet Explorer 9并没有从服务器请求的页面; 而是从缓存中提供它。

如何禁用Internet Explorer 9中的缓存?


我尝试将浏览器模式(Internet Explorer 9报告给服务器的Internet Explorer版本)更改为IE8 *,以及将**文档模式(Internet Explorer 9使用的Internet Explorer呈现引擎版本)更改为呈现页面),在这两种情况下,浏览器都不会在单击返回时请求该页面。

如何禁用Internet Explorer 9中的缓存?


更新:我尝试将Internet Explorer 9中的最大缓存大小减小到最低允许值:8 MB

在此处输入图片说明

并重新启动浏览器,但是当我单击“上一步”时,Internet Explorer 9不会从缓存中重新获取页面:

在此处输入图片说明

而是显示网页的旧的,缓存的版本。

如何禁用Internet Explorer 9中的缓存?


IE可能会将数据缓存在内存而不是磁盘中。如果无法控制,则可能需要考虑使用其他浏览器(如Firefox),并使用此处描述的信息(但值不同)调整其缓存设置,以抑制两种缓存。
martineau '08年

@martineau HTTP1.1(RFC2616)指示当用户单击“ 后退”(或“前进”)时,浏览器“ 不应(未添加强调)刷新页面。IE (如Firefox和Chrome)缓存的数据。不能通过任何IE程序选项(或Chrome选项)将其禁用,但是我们不能切换到任何其他浏览器-因此,这是有争议的。
伊恩·博伊德

那么,将要发生的是,W3C警察来逮捕您,以刷新页面吗?很可疑。无法切换浏览器?霍格沃什(Hogwash)有数百万,其中包括我80岁的母亲。对您来说,更简单的选择是使用她Ctrl+F5,它是在所有Web浏览器中都可以使用的47个键盘快捷键之一,可以获取正在查看的网页的新副本。在Firefox中也可以安装一个附件,该附件将提供一个工具栏图标,可以按需按此按钮以清除缓存。
martineau'8

@martineau我可以切换到其他浏览器,但不会改变行为-所有浏览器都遵循RFC(对其进行测试)。她可以F5,这不是问题,问题在于她必须F5。Google,Gmail,Facebook,Twitter,所有问题都可以通过添加解决no-cache, no-store。而且我一直无法说服作者我母亲最喜欢的网站来做同样的事情。因此,我剩下了一个客户端永久解决方案。
伊恩·博伊德

我想知道您是否需要浏览器来执行此操作。同样,如果使用其他浏览器(例如Firefox或Chrome),则可以使用时尚浏览器扩展程序有效地修改网站,而无需说服其作者为您进行更改。另一方面,我确定您的妈妈在使用该网站时能够学习按下Ctrl+F5(或Shift在按住Back-Arrow按钮或键的同时按住该键,虽然不是通用的,但在Firefox中也能做到) 。
martineau 2012年

Answers:


10

为此,只需按一下F12即可调出“开发人员”视图,单击“ 缓存”菜单,然后选择“ 始终从服务器刷新”。下次在该标签中加载页面时,它将在您每次导航时重新下载所有内容。

但是,关闭浏览器后,此设置将不会保留到其他选项卡或保留下来。


1
我母亲一次也做不到。更不用说她每次浏览了:(
伊恩·博伊德

是的,现在我可以再次调试.js文件了;-)
克里斯·奥

2

您是否可以强制ie9使用其中包含以下内容的本地CSS:

<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>

在IE9中,要使用本地样式表,只需单击右上角的齿轮菜单,然后单击Internet选项。在常规标签下,点击辅助功能按钮,然后选中标有使用样式表设置文档格式复选框。然后浏览到带有上面代码的文本文件。

这是您想要的选项的屏幕截图: 在此处输入图片说明


我无法控制我母亲正在浏览的网站的HTML。:(
Ian Boyd

@IanBoyd本地样式表可以附加到您通过浏览器浏览的任何站点。您不需要访问网站代码本身。
本·理查兹

@ sidran32感谢您找到这个,我的IE几乎不像我的Safari一样强大...我非常感谢您指出来。+1
Everett

这对于回溯式缓存策略不起作用(我刚刚对其进行了测试)。如果我单击“上一步”,则 Internet Explorer不会发出另一个http请求。
伊恩·博伊德

好吧,我试过了。我一直在寻找任何有帮助的东西。谢谢你让我知道。我将其保留下来,以便人们知道这不是答案。
Everett

1

答案是:不,您不能禁用Internet Explorer 9中的缓存。

  • 您可以限制缓存大小
  • 您可以在每次导航到IE时要求IE刷新页面
  • 您可以按F5键手动重新加载页面

但是仍然可以向您提供页面的缓存版本(即,该版本不是服务器状态的最新版本)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.