图像预加载不适用于FireFox中的图像

时间:2009-12-12 12:34:21

标签: javascript image image-preloader

我正在动态切换背景图片。当然,他们需要预先加载才能及时显示。我正在预加载它们,能够跟随FireBug跟随图像加载。当背景图像切换时,我在FireBug中再次看到图像下载。

这是我的网址:http://www.morganpackard.com/siteRoot/

奇怪的是,如果我重新加载页面,一切都按预期工作。我正在采取的步骤如下:

1)清除FireFox缓存 2)重新加载页面    图像加载缓慢,显然既没有预加载也没有缓存。每次图像交换时,图像都会再次下载。 3)现在重新加载页面而不清除缓存     图像立即加载和交换,一切都按预期工作。

所以看起来我必须在FireFox从缓存中读取图像之前进行RELOAD。这很怪异。有什么想法吗?

注意:我的图像非常好。当然,我会压缩它们,但是想要先将这个预加载排序。

2 个答案:

答案 0 :(得分:4)

我没有读过您的代码,但是为了预加载工作,您必须将图像添加到文档DOM中,否则可能会积极地进行垃圾回收。

答案 1 :(得分:2)

使用HttpFox进行检查,我在初始加载后看到更多的http请求 - 在点击时 - 为你的背景图像。如果我点击“刷新”,则重新加载图像。我认为这是正确的,你期望的。但请注意,在页面刷新时重新加载页面及其资产(如图像,css等)取决于响应标头和浏览器/插件工具中指定的任何过载。看一下pragma:no-cache和W3C Cache-Control(第14.9节)

编辑:启用firebug后,当我点击时,我 看到重新加载。这可能是Firebug的人工制品。关掉萤火虫,你就不会有重装。