Показать полную графическую версию : Помогите с обновлением картинки на сайте
xxxsnoop
15-02-2009, 13:06
Привет.Есть такое задание: можно ли сделать так, чтобы определенная картинка на сайте обновлялась автоматически через какое то время.Ссылка на картинку с другого сервера.Например отображается прогноз погоды на страничке и хотелось бы, чтобы она обновлялась через определенное время без обновления всей страницы.Как это можно реализовать?
Prisoner
15-02-2009, 14:05
Приветствую. Рядом (http://forum.oszone.net/thread-132027.html) аналогичный вопрос рассматривается. Разница небольшая. В вашем случае нужно не вызывать событие клика, но менять src картинки.
xxxsnoop
15-02-2009, 15:40
и КАК в моем случае будет выглядеть код?Например есть:
<a href='http://www.gismeteo.Ru/towns/27555.htm'><img src='http://informer.gismeteo.Ru/27555-31.GIF' alt="GISMETEO: Погода по г. Павлово" border="0"></a>
Prisoner
15-02-2009, 17:50
<script type="text/javascript">
function setImageAutoreloadAbility(image, interval) {
var imageSrc = image.src;
window.setInterval(function(){image.src = imageSrc + '?' + (new Date().getTime());}, interval);
}
setImageAutoreloadAbility(document.getElementById('imageId'), 1000);
</script>
Заведите только ID для картинки. У меня это "imageId". Добавляемая к src дата способствует предотвращению загрузки картинки из кеша.
xxxsnoop
15-02-2009, 20:21
Что то у меня при обновлении картинки пишет "Ошибка на странице" и потом "готово"...почему происходит ошибка?
Я прописал ID вот так: <a href='http://www.gismeteo.Ru/towns/27555.htm'><img id='imageId' src='http://informer.gismeteo.Ru/27555-31.GIF' alt="GISMETEO: Погода по г. Павлово" border="0"></a>.Я все правильно сделал?
Prisoner
15-02-2009, 21:50
Ops, прошу прощения, уберите "console.log(image.src)" из кода :). C id все правильно. Ну и интервал стоит подобрать нужный, измеряется в миллисекундах.
xxxsnoop
17-02-2009, 08:41
Prisoner, спасибо, все работает))
Prisoner, Блин, ребята а у меня не работает :-(
Prisoner
18-02-2009, 08:30
Porecla, доброго времени суток. Телепатируйте, что именно :).
xxxsnoop
18-02-2009, 08:40
Porecla, что не работает?Что именно тебя интересует?
что не работает?Что именно тебя интересует? »
Ну в Опере вообще не обновляется, в IE тоже не обновляется и пишет что в это строчке нужен объект. var imageSrc = image.src; »
Прописал вот так <img id='imageId' src="444.jpg" height="500" width="300">
Поставил интервал 20000, после открытия страницы быстренько, меняю 444.jpg на другое изображение. И ничего, всё стоит на месте.
Prisoner
18-02-2009, 13:06
Видимо код запускается раньше окончательной загрузки DOM. Как вариант разместите вызов setImageAutoreloadAbility в самом низу страницы.
А 20000 это быстренько? 20 секунд ведь. И что значит "после открытия страницы быстренько, меняю 444.jpg на другое изображение"? Если на другой узел, без ID или с отличным от 'imageId' (кстати, можно и другой ID использовать, посемантичнее), то, возможно, в этом причина - нет ID, нет и мультиков.
setImageAutoreloadAbility в самом низу страницы »
Ну вот теперь всё работает. :-)
Prisoner
18-02-2009, 17:33
Ну вот теперь всё работает »
Звучит, будто в том, что не работало, была моя вина :)
Звучит, будто в том, что не работало, была моя вина »
Виноват всегда тот кто прав :-)
Жизненная мудрость .
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.