如何解决图像多次加载,这是Firefox还是NivoSlider错误?
| 当我在每个Nivo Slider中打开两个选项卡时,我发现firebug的net选项卡在每次幻灯片更改中显示了同一张图像的多个请求。它增加了页面的大小(以mb为单位)以及对firefox.exe的内存使用/分配。一段时间后,我的计算机变得非常慢,并且任务监视器中的内存分配高于1gb。 如何复制它: 1-在firefox的2个标签中打开http://nivo.dev7studios.com/(在3.6〜5.0中测试) 2-在第二个选项卡中打开萤火虫的网络面板 3-重新加载第二个标签解决方法
我刚刚在FF 3.6中进行了测试-同样的问题。
查看文件http://nivo.dev7studios.com/scripts/nivo-slider/jquery.nivo.slider.js:84
//Set first background
slider.css(\'background\',\'url(\"\'+ vars.currentImage.attr(\'src\') +\'\") no-repeat\');
另外还有253、262、284等行。它会即时添加背景图片,因此浏览器应该一次又一次地请求它。幸运的是,服务器以标头304未修改进行响应。
答案是:NivoSlider。
,我在打开一个选项卡的情况下在FF 4.0.1中遇到内存泄漏。
Chrome(12.0.742.100)也一样,虽然不如FF差。
好像是NivoSlider导致了此泄漏。
,我们在工作时就对此进行了测试,起初我们看到Firefox重新下载了图片,就像原始海报所说的那样。但是随后我们意识到了一些事情-如果您从未使用Firefox / Firebug的工具将鼠标悬停在图片上,它就不会重新下载图片!
因此,换句话说,由于滑块,这似乎没有发生。看来只有在您开始使用Firefox / Firebug进行调查时才会发生。
所以我不认为这是一个问题。
,我在内存泄漏方面也遇到了同样的问题。
看来nivo并不是那么好。
经过一番尝试后,至少根据firebug,我设法显着降低了负载。
我做了两件事:
将display :: css中的所有滑块图像都不放-我认为这实际上并没有多大作用,但不会造成伤害。我希望这会超过初始负载。
在JS中,使用$(document).ready代替$(window).load-理论上,这应该在加载所有图像之前启动滑块
问题仍然没有完全解决,我得到了一些奇怪的行为。
我只有四张照片。他们都开始加载。过了一会儿(我不知道原因,通常是第一次显示图像)再次从缓存中加载了2张图片。在那之后,它工作正常。我把它打开了一个小时,没有新的负载。
因此,总而言之,通过上述更改,我得到了2个额外的负载。与以前相比(每当更改图像时都会加载新负载),它的表现还不错。
我仍然找不到此行为的原因或解释。也许firefox在此过程中释放了一些内存,以便不时重新加载图像?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。