Подтвердить что ты не робот

Gif анимация не воспроизводится при обновлении

В первый раз я просматриваю страницу с анимированным .gif, который отлично воспроизводится при загрузке страницы (длится около 2 секунд).

При обновлении (F5).gif больше не воспроизводится и отображается только последний кадр анимации gif.

Есть ли что-нибудь, что я могу сделать, чтобы убедиться, что он играет каждый раз?

4b9b3361

Ответ 1

Странное поведение, которое влияет на каждый браузер.
Я обычно обновляю его вручную с помощью этого script (он использует 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 a new picture!
<img src="picturePath.gif?2012092011207">

Ответ 2

Для PHP гораздо лучший вариант, а затем с помощью date("Ymdgis"); используется time(), например:

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

Ответ 3

Обходной путь, который работает для меня для этой проблемы, - это перезагрузить GIF вручную, используя Javascript

GIF, реализованный в CSS (фоновые изображения)

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

GIF реализован в HTML (тег img)

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

Благодаря @sekmo

Ответ 4

Это работает, требуется только одна строка под ним, и я предлагаю сначала не заполнять атрибут <img> src, чтобы страница не пыталась загрузить лишние ресурсы.

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

Ответ 5

Возможно, ваш браузер просто показывает кешированную версию. Попытайтесь провести смену и освежить, и посмотрите, работает ли она.