EMP*_*EMP 156 internet-explorer internet-explorer-8 web-development
使用 Internet Explorer 8 测试我的 Web 应用程序时,我经常发现它不会重新加载页面,因此我看不到我的更改。这导致了很多时间的浪费和沮丧,想知道为什么我的修复“不起作用” - 实际上浏览器从未加载过修复版本。
我试过刷新按钮。我试过F5,Control- F5,Control- R,Control- Shift- R,Control在单击刷新按钮时按住,我能想到的一切 - 它实际上并没有从服务器加载新内容。我已经与 Fiddler 确认了这一点。
我如何告诉 IE“我不在乎你认为你缓存了什么,我想重新加载页面 - 不是真的,这次我是认真的,老实说,我希望你真的去服务器并且重新下载所有内容“?
小智 129
小智 43
既然说IE8是浏览器,可以按F12打开开发工具,选择顶部的Cache菜单,然后一直从服务器刷新绕过缓存。
简而言之,按F12。单击缓存->始终从服务器刷新
如果这是所需的操作,您也可以在此处简单地清除缓存。始终刷新选项不是全局选项,不会影响 IE 的整体性能。
IE7 也有开发工具,但必须单独安装。您还可以使用 IE8 开发工具在 IE7 模式下运行浏览器。
小智 22
Ctrl+F5在 IE 中重新加载页面忽略缓存
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。
Web 开发人员工具栏的网络选项卡有一个按钮可以轻松清除缓存。我通常在你描述的情况下使用它。
这并不理想,因为您可能真的不想清除整个缓存,但由于我不使用 IE 进行常规浏览,因此它对我有用。
| 归档时间: |
|
| 查看次数: |
359747 次 |
| 最近记录: |