缓存破坏者和跨浏览器的问题

时间:2012-10-18 09:04:13

标签: http google-chrome caching safari cross-browser

我加载JavaScript文件的代码是:

<script src="/path/to/app.js?1350550684711"></script>

其中1350550684711只是服务器端生成的时间戳。这种缓存清除的做法非常受欢迎(link 1link 2)。

在Chrome和Firefox中,此机制可以,理论上它适用于所有浏览器,因为每次都会请求不同的HTTP资源。

使用缓存版本的JS文件的用户仍然会收到报告;特别是Apple Safari上的那些。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这可能意味着受影响的Apple Safaris重用了包含<script元素的html页面的缓存版本,因此它们自然不会从服务器获得新的时间戳。

我在这里推测,但这可能是因为他们以不同的方式解释HTTP缓存相关的标头,可能是由于不同的默认设置,离线浏览模式或其他原因。

检查哪个缓存设置适用于该html文件。