0

看看IE8中的这个小提琴,如果你安装了它。

每当您从图像悬停或取消悬停时,它都会再次从服务器获取。即使在同一页面中,IE8 也不会缓存图像。这是因为 IE 在图像上没有看到任何缓存头,因此决定它不能缓存它。

在给定的持续时间内添加一个像max-age:300“解决”它的缓存头:悬停/取消悬停将持续 5 分钟而不会闪烁。

这个解决方案不是一个好的解决方案,因为时间限制(闪烁将在 5 分钟后返回),并且因为它实际上会伤害其他浏览器 - 如果我理解正确,它们可能会在时间过去后闪烁,而今天我没有看到其他浏览器上的任何闪烁(Firefox、Chrome,甚至 IE9 都可以在没有标题的情况下正常工作)。

Sprites 是另一种解决方案,它实际上可能是更好的整体解决方案 - 但假设在实现它之前/除了实现它之外,我们希望找到另一个更好的 HTTP 标头来发送,它只会修复 IE,而不是强加特定的同一会话中的缓存限制。本质上,我希望标题说“可以为给定的页面/会话缓存它”。

有这样的野兽吗?

4

1 回答 1

0

您的问题的答案是您的问题没有解决方法。只有一段特殊的代码才能消除闪烁。

于 2012-05-14T17:25:27.680 回答