Firebug是否总是正确地列出了使用Net标签下载的方式?

时间:2008-12-09 04:38:38

标签: javascript firebug

当可以从缓存中加载内容时,Firebug是否可能错误地将下载添加到Net选项卡?

我在Javascript库中有一些代码,这意味着在点击缩略图时懒洋洋地下载图像,然后在下载后显示它。它的目的是确定它是否已经首先下载(通过具有布尔值的数组),如果之前已经下载过,只需从缓存中显示。

我认为它工作正常一段时间(因为它们在点击两次时出现的速度),但我最近查看了Firebug的Net标签,它似乎每次下载大图像(和总数)每次点击都会使文件大小变大。

我不确定我做错了什么,因为一些调试告诉我布尔值正在正确更新。

所以我的问题是,Firebug可能不正确(我怀疑它),或者有什么方法可以强制它从缓存显示(我想使用完全相同的路径到image.src的图像会这样做)

这是我第一次尝试使用Javascript中的对象,所以我对代码没有百分之百的信心,所以请善待!

3 个答案:

答案 0 :(得分:6)

出现在firebug中的网络标签中的图像并不意味着它是从服务器下载的。检查firebug为图像报告的HTTP响应代码 - 对我来说,一次访问后,它会一直返回“304 - Not Modified”,这意味着它正从缓存中加载。

您可以通过为要缓存的组件发送far-future headers来避免额外的HTTP请求,该请求会检查缓存是否仍然是新鲜的。但请记住,为了强制客户端重新下载以这种方式缓存的组件,您必须更改文件名。

答案 1 :(得分:4)

Firebug可能不是100%正确,或者至少,如果Firebug被关闭,可能不会发生这种情况。

我会尝试使用Fiddler或者WireShark检查网络活动,看看它是否有所不同。 Fiddler是IE的调试代理,WireShark是数据包嗅探器。

我无法确切地说Firebug网络显示器是如何工作的,因为我从来没有潜入过引擎盖,但我经历过一些我认为是我做的事情的事情,当Firebug关闭时它就消失了。

似乎Firebug在衡量事物的行为中,改变了“看着你的量子猫”的方式。 Firebug仍然是岩石,但确实有一些限制。

答案 2 :(得分:1)

我检查了您的网站,并使用CacheViewer确认它确实正在缓存它并从磁盘中获取它,从今天起一个月到期。如果你想要你也可以通过将所有图像组合成一个大图像并仅显示感兴趣的区域来使用plsicing,尽管我通常使用拼接来处理小图像,例如分页图标等。不管怎样,你的网站看起来很棒,就像这样你延迟加载大图像。