0

我加载 JavaScript 文件的代码是:

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

where1350550684711只是服务器端生成的时间戳。这种缓存破坏的做法非常流行(链接 1链接 2)。

在 Chrome 和 Firefox 中,这种机制有效,理论上它应该适用于所有浏览器,因为每次都请求不同的 HTTP 资源。

仍然有用户使用 JS 文件的缓存版本的报告;特别是Apple Safari上的那些。任何想法?

4

1 回答 1

1

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

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

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

于 2012-10-19T04:55:19.417 回答