缓存后动画GIF在FireFox中不起作用

时间:2010-05-14 03:30:27

标签: firefox gif animated

我有一个动画GIF循环三次。我注意到在Firefox和Chrome中(还没有检查过其他人)我可以查看一次GIF然后如果我重新加载页面,缓存的GIF根本就没有动画。

有解决方案吗?有没有关于动画GIF的内容我可以改变以防止这种情况发生?

5 个答案:

答案 0 :(得分:3)

这是一个非常丑陋的解决方案,但是你可以使用这个,如果你内联调用图像,不是很漂亮,但它有效!

<img src="filename.gif?rand=<?=rand(1,1000);?>" alt="" />

希望有所帮助

答案 1 :(得分:1)

我在这种情况下选择的解决方案是将GET变量附加到图形名称的末尾,以防止在页面刷新时从缓存重新加载图形。

var myImg = new Image();
myImg.src = "image.gif?rnd=" + Math.random();

答案 2 :(得分:1)

Jade O'Connor的解决方案有效,但据说这是一个丑陋的解决方案。 因为每次访问页面时,都会从服务器下载映像。这导致大图像的带宽问题。这也会增加页面加载时间,因此对慢速连接很不利。

有更好的解决方案吗?

我发现了这样的事情:

我以循环“永久”模式重新生成动画gif。在我的gif中,有20帧,每帧显示150毫秒。这样循环的一步持续3秒。我还创建了动画最后一帧的jpeg版本。

当页面加载时,我使用window.setTimeout()方法在3秒后用jpeg替换gif。因为,当循环的第一步完成时,我希望最终帧保持不变。但是有时间问题。当显示最后一帧时,动画重新开始,然后我可以用jpeg替换gif。有没有办法检测动画是完成还是重新启动?

答案 3 :(得分:0)

你能否指出我们有问题的GIF?您使用的所有GIF都会发生这种情况吗?所有都是用相同的应用程序制作的?

无论如何,只是不缓存而且瞧,解决了。但我认为你应该使用其他应用程序来创建你的GIF并查看它是否正常工作。

答案 4 :(得分:-5)

Firefox中,您可以使用 Ctrl + Shift + R Ctrl + F5 强制完全重新加载(重新加载缓存)。

Chrome中,它是 Ctrl + F5 Shift + F5