Chrome缓存CSS但不在CSS文件中加载图片

Loï*_*oix 18 css caching google-chrome

我们在工作中遇到一个奇怪的问题,只发生在chrome中.看起来css文件正在缓存,并且不会重新下载此文件的内容.

问题是当使用新会话例如"私人会话"时,不会显示图像"mainSprite.png".

经过一些测试后,我认为如果用户未经过身份验证,问题与我们在开始时进行重定向有关.根据我的理解,它可能无法完成在css文件中链接的精灵的下载.它会尽快缓存无效对象作为重定向开始,然后在下面的页面时,将无法显示正确的图像,因为它的缓存有些不妥.

奇怪的是它实际上在某个时刻完全加载了图像.但它看起来并没有在内存中刷新它......

在第一次加载开始重定向并正确显示图像之前,我做了一秒的超时.这是一个快速修复,我不能指望每台计算机在1秒钟内加载css中包含的每个图像.

编辑

据我所知,它看起来真的像竞争条件.我改变了加载顺序.我们使用require.js.我没有在css之后加载js,而是在之前启动js加载.现在,我的本地服务器上的图像正确加载.

如果有人有兴趣研究它:

http://api.checklist.com

编辑2

当图像不可见时,打开新标签会出现同样的问题.关闭浏览器并重新打开它将在首次加载时工作,图像不会被下载,而是从Cache加载,这意味着在关闭浏览器之前,图像确实已下载.

小智 0

您需要做的就是通过 chrome 跟踪您的现金清单,据我所知,您收到了此错误,导致其未缓存:

未捕获的类型错误:对象 [对象对象] 没有方法“占位符”

因此,如果您想跟踪,可以使用清单离线模式或通过代码进行跟踪。

只需关注并测试您的页面,我确实发现了错误所在:

文件:scripts2.js 第 20 行 --> $('input[placeholder]').placeholder();

您需要检查占位符的名称并在此标签中更改它。

谢谢