アニメーション化された .gif を含むページを初めて表示すると、ページの読み込み時に問題なく再生されます (約 2 秒続きます)。
更新 (F5) すると、.gif は再生されなくなり、gif アニメーションの最後のフレームのみが表示されます。
常に再生されるようにするためにできることはありますか?
アニメーション化された .gif を含むページを初めて表示すると、ページの読み込み時に問題なく再生されます (約 2 秒続きます)。
更新 (F5) すると、.gif は再生されなくなり、gif アニメーションの最後のフレームのみが表示されます。
常に再生されるようにするためにできることはありますか?
PHP の場合、次のようにdate("Ymdgis");
using を使用するよりもはるかに優れたオプションです。time()
<img src="picturePath.gif?<?php echo time();?>" />
すべてのブラウザに影響する奇妙な動作..
私は通常、このスクリプトを使用して手動で更新します(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">
この問題の回避策は、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に感謝
<img>
これは機能し、その下に 1 行だけ必要です。ページが不要なリソースをロードしようとしないように、最初は src 属性を入力しないことをお勧めします。
<img id="gif" src=""/>
<script>document.getElementById('gif').src="path_to_picture.gif?a="+Math.random()</script>
ブラウザがキャッシュされたバージョンを表示しているだけかもしれません。Shift キーを押しながら更新してみて、うまくいくかどうかを確認してください。