我第一次使用动画.gif查看页面时,它在页面加载时播放正常(持续约2秒)。
在刷新(F5)时,.gif不再播放,只显示gif动画的最后一帧。
我有什么办法可以确保它每次都能播放吗?
答案 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并刷新,看看它是否有效。