IE表现得很奇怪

时间:2009-11-04 11:11:56

标签: internet-explorer iis caching http-headers

我们通过JavaScript设置Window.Location,具体取决于用户在下拉列表中选择的值。我们设置位置的网址没有明确设置HTTP缓存。

但是,我们观察到在某些情况下,expires标头在未来设置为1秒。每当发生这种情况时,更改window.location将停止为后续请求工作(即使在等待超过一秒钟之后),因为IE会缓存响应。

响应标题:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Date: Wed, 04 Nov 2009 10:51:22 GMT
Expires: Wed, 04 Nov 2009 10:51:23 GMT
ETag: 0
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNetMvc-Version: 1.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Content-Length: 23405

我们在做什么有问题吗?

亲切的问候,

1 个答案:

答案 0 :(得分:0)

将随机参数附加到网址。

所以,而不是

window.location.href = 'somewhere.html';

你可以使用

window.location.href = 'somewhere.html?nocache=' + Math.random();

因为那"不同"页面还没有在缓存中,浏览器将被强制加载它。