-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Помогите с обновлением картинки на сайте
Привет.Есть такое задание: можно ли сделать так, чтобы определенная картинка на сайте обновлялась автоматически через какое то время.Ссылка на картинку с другого сервера.Например отображается прогноз погоды на страничке и хотелось бы, чтобы она обновлялась через определенное время без обновления всей страницы.Как это можно реализовать?
|
Приветствую. Рядом аналогичный вопрос рассматривается. Разница небольшая. В вашем случае нужно не вызывать событие клика, но менять src картинки.
|
и КАК в моем случае будет выглядеть код?Например есть:
<a href='http://www.gismeteo.Ru/towns/27555.htm'><img src='http://informer.gismeteo.Ru/27555-31.GIF' alt="GISMETEO: Погода по г. Павлово" border="0"></a>
|
Код:
<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 дата способствует предотвращению загрузки картинки из кеша.
|
Что то у меня при обновлении картинки пишет "Ошибка на странице" и потом "готово"...почему происходит ошибка?
Я прописал 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>.Я все правильно сделал?
|
Ops, прошу прощения, уберите "console.log(image.src)" из кода :). C id все правильно. Ну и интервал стоит подобрать нужный, измеряется в миллисекундах.
|
Prisoner, спасибо, все работает))
|
Prisoner, Блин, ребята а у меня не работает :-(
|
Porecla, доброго времени суток. Телепатируйте, что именно :).
|
Porecla, что не работает?Что именно тебя интересует?
|
Цитата:
Цитата xxxsnoop
что не работает?Что именно тебя интересует? »
|
Ну в Опере вообще не обновляется, в IE тоже не обновляется и пишет что в это строчке нужен объект.
Цитата:
Цитата Prisoner
var imageSrc = image.src; »
|
Прописал вот так <img id='imageId' src="444.jpg" height="500" width="300">
Поставил интервал 20000, после открытия страницы быстренько, меняю 444.jpg на другое изображение. И ничего, всё стоит на месте.
|
Видимо код запускается раньше окончательной загрузки DOM. Как вариант разместите вызов setImageAutoreloadAbility в самом низу страницы.
А 20000 это быстренько? 20 секунд ведь. И что значит "после открытия страницы быстренько, меняю 444.jpg на другое изображение"? Если на другой узел, без ID или с отличным от 'imageId' (кстати, можно и другой ID использовать, посемантичнее), то, возможно, в этом причина - нет ID, нет и мультиков.
|
Цитата:
Цитата Prisoner
setImageAutoreloadAbility в самом низу страницы »
|
Ну вот теперь всё работает. :-)
|
Цитата:
Цитата Porecla
Ну вот теперь всё работает »
|
Звучит, будто в том, что не работало, была моя вина :)
|
Цитата:
Цитата Prisoner
Звучит, будто в том, что не работало, была моя вина »
|
Виноват всегда тот кто прав :-)
Жизненная мудрость .
|
Время: 22:15.
© OSzone.net 2001-