我加载JavaScript文件的代码是:
<script src="/path/to/app.js?1350550684711"></script>
其中1350550684711
只是服务器端生成的时间戳。这种缓存清除的做法非常受欢迎(link 1,link 2)。
在Chrome和Firefox中,此机制可以,理论上它适用于所有浏览器,因为每次都会请求不同的HTTP资源。
使用缓存版本的JS文件的用户仍然会收到报告;特别是Apple Safari上的那些。有什么想法吗?
答案 0 :(得分:1)
这可能意味着受影响的Apple Safaris重用了包含<script
元素的html页面的缓存版本,因此它们自然不会从服务器获得新的时间戳。
我在这里推测,但这可能是因为他们以不同的方式解释HTTP缓存相关的标头,可能是由于不同的默认设置,离线浏览模式或其他原因。
检查哪个缓存设置适用于该html文件。