如何强制 Internet Explorer (IE) 重新加载页面?

EMP*_*EMP 156 internet-explorer internet-explorer-8 web-development

使用 Internet Explorer 8 测试我的 Web 应用程序时,我经常发现它不会重新加载页面,因此我看不到我的更改。这导致了很多时间的浪费和沮丧,想知道为什么我的修复“不起作用” - 实际上浏览器从未加载过修复版本。

我试过刷新按钮。我试过F5Control- F5Control- RControl- Shift- RControl在单击刷新按钮时按住,我能想到的一切 - 它实际上并没有从服务器加载新内容。我已经与 Fiddler 确认了这一点。

我如何告诉 IE“我不在乎你认为你缓存了什么,我想重新加载页面 - 不是真的,这次我认真的,老实说,我希望你真的去服务器并且重新下载所有内容“?

小智 129

  1. 选择工具>> Internet 选项
  2. 单击浏览历史记录中设置按钮。
  3. 选择每次访问网页单选按钮。
  4. 单击“确定”关闭“设置”对话框。
  5. 单击确定关闭 Internet 选项对话框。

  • 它可能会损害一般浏览性能,但前提是您使用 IE 进行一般浏览... (37认同)
  • 我同意@EricLaw,如果您使用 Fiddler,您会看到与页面关联的文件有时不会重新加载,即使设置了“每次访问网页时”也是如此。使用 IE 工具栏菜单:缓存 > 始终从服务器刷新,或 Fiddler 中的清除缓存按钮。 (6认同)
  • “每次我访问网页时”可能不会按照您的想法进行操作。见 http://www.fiddler2.com/redir/?id=httpperf (4认同)
  • 如果这是您所做的,请将其标记为答案 (3认同)
  • Ev:这种面向用户的方面通常是通过在每次触摸代码时更改所有脚本和样式表的 URL 来解决的,通常是通过添加“?version-number”查询字符串后缀。 (3认同)

小智 43

既然说IE8是浏览器,可以按F12打开开发工具,选择顶部的Cache菜单,然后一直从服务器刷新绕过缓存。

简而言之,F12。单击缓存->始终从服务器刷新

如果这是所需的操作,您也可以在此处简单地清除缓存。始终刷新选项不是全局选项,不会影响 IE 的整体性能。

IE7 也有开发工具,但必须单独安装。您还可以使用 IE8 开发工具在 IE7 模式下运行浏览器。

  • 在 IE 11 中,此选项位于 F12 -> 网络 -> 左起第三个图标下。 (5认同)

小智 22

Ctrl+F5在 IE 中重新加载页面忽略缓存

  • 不,它没有。我知道它有时会忽略缓存,但并非总是如此。 (26认同)
  • Ctrl+f5 总是从服务器重新加载页面。它不一定要做的是重新加载页面引用的额外文件 (16认同)
  • ctrl+f5 并不总是从服务器重新加载所有内容。在我的测试中,即使页面已更改,在按 ctrl-f5 后,html 文件中包含的 javascript 也不会重新加载。 (3认同)
  • 很公平 - 但我需要它来重新加载所有东西。 (2认同)

Mar*_*tos 19

IE 非常渴望缓存页面,即使您告诉它不要通过缓存标头。Microsoft KB 234067解释了必要的咒语。简而言之,您需要提供以下标头。

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>
Run Code Online (Sandbox Code Playgroud)

设置Expires = -1(如知识库文章中推荐的)应该适用于大多数框架;浏览器需要将无效的日期格式视为过去(RFC 2616)。

在 .NET 中,您可以在调用网页之前使用这组方法在逐页粒度上执行此操作:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ 适用于 MVC3.0。


pka*_*ing 6

Web 开发人员工具栏的网络选项卡有一个按钮可以轻松清除缓存。我通常在你描述的情况下使用它。

这并不理想,因为您可能真的不想清除整个缓存,但由于我不使用 IE 进行常规浏览,因此它对我有用。