当从缓存中加载内容时,Firebug 是否可能错误地将下载添加到“网络”选项卡?
我在 Javascript 图库中有一些代码,用于在单击缩略图时延迟下载图像,然后在下载后显示它。它旨在确定它是否已经首先下载(通过具有 bool 值的数组),如果之前已经下载过,则只需从缓存中显示。
我认为它在一段时间内工作正常(因为单击两次时它们出现的速度很快),但我最近查看了 Firebug 的“网络”选项卡,它似乎每次都在下载大图像(以及总的每次点击文件都会变大)。
我不确定我做错了什么,因为一些调试告诉我 bool 值正在正确更新。
所以我的问题是,Firebug 会不会不正确(我对此表示怀疑),或者有什么方法可以强制它从缓存中显示(我认为使用完全相同的图像路径 image.src 会做到这一点)
这是我第一次尝试使用 Javascript 对象,所以我对我的代码不是 100% 有信心,所以请多多包涵!
最佳答案
firebug 中net 选项卡中出现的图像并不表示它是从服务器下载的。检查 firebug 为图像报告的 HTTP 响应代码 - 对我来说,在一次访问后,它一直返回“304 - 未修改”,这意味着它正在从缓存中加载。
您可以通过发送 far-future headers 来避免检查缓存是否仍然新鲜的额外 HTTP 请求。对于您想要硬缓存的组件。但请记住,为了强制客户端重新下载以这种方式缓存的组件,您必须更改文件名。
关于javascript - Firebug 在使用“网络”选项卡列出下载的方式时总是正确的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351791/