2009-12-09 23:52:52 +0000 2009-12-09 23:52:52 +0000
155
155

如何强迫Internet Explorer (IE)真正重新加载页面?

当使用Internet Explorer 8测试我的Web应用程序时,我经常发现它不会重新加载页面,所以我看不到我的更改。这导致我浪费了很多时间和沮丧,想知道为什么我的修复 “不工作”–事实上,浏览器从未加载过修复的版本。我试过F5,Control-F5,Control-R,Control-Shift-R,在点击刷新按钮的同时按住Control,我能想到的所有方法都试过了–实际上并没有从服务器上加载新的内容。我已经和Fiddler确认过了。

我该如何告诉IE “我不管你认为你缓存了什么,我想重新加载页面–不,真的,这次我真的,我想让你实际_到服务器上再下载一遍"?

答案 (12)

126
126
126
2009-12-09 23:57:24 +0000
  1. 选择工具>>互联网选项.
  2. 点击浏览历史记录中的设置**按钮.
  3. 选择每次访问网页时单选按钮.
  4. 单击确定关闭设置对话框。 5.单击确定关闭Internet选项对话框。
43
43
43
2010-07-08 18:30:53 +0000

既然说了是IE8浏览器,那么你可以按F12打开开发工具,选择顶部的Cache菜单,然后选择始终从服务器刷新来绕过缓存,

简而言之,按F12。点击Cache -> 总是从服务器刷新

你也可以在这里简单地清除你的缓存,如果是想要的操作的话。始终刷新选项不是全局选项,也不会影响IE的整体性能。

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

22
22
22
2009-12-10 00:38:04 +0000

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

19
19
19
2009-12-10 01:31:08 +0000

IE非常渴望缓存页面,即使你通过缓存头告诉它不要缓存页面。微软KB 234067 ](http://support.microsoft.com/kb/234067/EN-US)解释了必要的咒语。简而言之,你需要传递以下的头文件。

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>
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();

设置Expires = -1(如KB文章中推荐的那样)应该适用于大多数框架;浏览器被要求将无效的日期格式视为过去的日期格式RFC 2616 )。 在.NET中,你可以通过在调用网页之前使用这组方法在逐页粒度上实现:

&001

&001

http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ 在MVC3.0中效果很好。

6
6
6
2009-12-09 23:58:04 +0000

在网页开发者工具栏的网络选项卡上有一个按钮,可以轻松清除缓存。我通常会在你描述的情况下使用这个按钮。

这并不理想,因为你可能并不是真的想清除整个缓存,但由于我不使用IE进行一般的浏览,所以它对我来说很有效。

4
4
4
2011-04-01 03:47:03 +0000

在IE9中仍然会出现这种情况。奇怪的是,答案是Ctrl-Shift-Refresh按钮

3
3
3
2009-12-10 00:14:40 +0000

顺便说一下,这个问题可能也会存在于你的网站浏览者身上。我在一本AJAX书上看到了以下的想法…..

使用PHP在当前的URL中添加一个随机标记,这样浏览器就会被骗到以为这是一个独立的页面。

2
2
2
2009-12-09 23:58:50 +0000

我自己也遇到过同样的问题。我相信唯一的方法就是清除缓存(安全 ->删除浏览历史记录)。只检查 “临时互联网文件"。

希望对你有帮助。

2
2
2
2010-11-17 15:36:29 +0000

在点击刷新按钮时,按住alt或ctrl键。

1
1
1
2009-12-10 01:49:44 +0000

我知道这似乎有点奇怪………..但我最近注意到一件事,就是你有时确实会得到不同的结果,这取决于你如何 “刷新"。我见过以下情况: F5>从缓存中加载而不刷新, Alt+D,ENTER>really刷新,绕过缓存。

1
1
1
2012-08-22 18:35:56 +0000

F12 -> CTRL+R对于IE9+来说,速度略快。正如人们所提到的,IE不像Chrome那样智能地清除缓存。

1
1
1
2010-08-12 02:58:55 +0000

我同意在URL中添加一个随机令牌是最可靠的解决方案,一旦实现了,用户就不需要做任何事情。每一次都有效…..而且我使用的是IE 8。