gif动画没有在刷新时播放

时间:2012-07-12 15:54:57

标签: animation refresh gif autoplay browser-refresh

我第一次使用动画.gif查看页面时,它在页面加载时播放正常(持续约2秒)。

在刷新(F5)时,.gif不再播放,只显示gif动画的最后一帧。

我有什么办法可以确保它每次都能播放吗?

5 个答案:

答案 0 :(得分:10)

对于PHP来说,更好的选择然后使用date("Ymdgis");使用time(),如下所示:

<img src="picturePath.gif?<?php echo time();?>" />

答案 1 :(得分:8)

影响每个浏览器的奇怪行为。
我通常使用此脚本手动刷新它(它使用jQuery)

<img id="gif_animata" src="picturePath.gif">
<script type="text/javascript">
    var gifSource = $('#gif_animata').attr('src'); //get the source in the var
    $('#gif_animata').attr('src', ""); //erase the source     
    $('#gif_animata').attr('src', gifSource+"?"+new Date().getTime()); //add the date to the source of the image... :-) 
</script>

这将刷新添加当前日期的图像的src,因此浏览器将重新加载它,认为这是一个新图像。

否则以PHP方式(我更喜欢这个):

<img src="picturePath.gif?<?php echo date("Ymdgis");?>" />

//for the browser it will seems that's a new picture!
<img src="picturePath.gif?2012092011207">

答案 2 :(得分:0)

对我来说这个问题的解决方法是使用Javascript手动重新加载GIF

在CSS(背景图片)上实施GIF

var element = document.getElementById(name);
element.style.backgroundImage = "none";  
element.style.backgroundImage = "url(imagepath.gif?"+new Date().getTime()+")";

在HTML上实现GIF(img标签)

var element = document.getElementById(name);
element.src = "";  
element.src = "imagepath.gif?"+new Date().getTime();

感谢@sekmo

答案 3 :(得分:0)

这样做,只需要在它下面一行,我建议不要先填写<img> src属性,这样页面就不会尝试加载任何不必要的资源。

<img id="gif" src=""/>
<script>document.getElementById('gif').src="path_to_picture.gif?a="+Math.random()</script>

答案 4 :(得分:-2)

可能是您的浏览器只显示缓存版本。尝试按住shift并刷新,看看它是否有效。