0

我们在 web 应用程序中的一些下载是生成的,不应该被浏览器缓存。

使用 HTTP:// 时,我们可以通过标头来防止这种情况: Cache-Control : no-cache

但是这个中断是 IE:

http://support.microsoft.com/kb/2549423

http://support.microsoft.com/kb/812935

http://support.microsoft.com/kb/316431(相关问题)

IE 问题的常见解决方案是不发送这些标头。但是删除这些标头打开了浏览器再次缓存这些资源的可能性(这是不需要的)。

是否有一种干净的(最好是不知道内容的)方法来防止在所有常见浏览器中缓存但又不会破坏 IE 的下载?

4

1 回答 1

0

如果您的 Web 应用程序的服务器部分忽略了额外的请求参数,如何更改

http://mywebapplication/service?param=value

http://mywebapplication/service?param=value&garbage=889jsdakd8932hd

即,在客户端:

url = 'http://mywebapplication/service';
url += '?garbage=';

for (var i = 0; i < 20; i++)
    url += Math.floor(10 * Math.random());

这将使浏览器相信您每次都在下载新资源。

于 2012-07-20T11:23:14.280 回答