Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Помогите с обновлением картинки на сайте (http://forum.oszone.net/showthread.php?t=132046)

xxxsnoop 15-02-2009 13:06 1038992

Помогите с обновлением картинки на сайте
 
Привет.Есть такое задание: можно ли сделать так, чтобы определенная картинка на сайте обновлялась автоматически через какое то время.Ссылка на картинку с другого сервера.Например отображается прогноз погоды на страничке и хотелось бы, чтобы она обновлялась через определенное время без обновления всей страницы.Как это можно реализовать?

Prisoner 15-02-2009 14:05 1039051

Приветствую. Рядом аналогичный вопрос рассматривается. Разница небольшая. В вашем случае нужно не вызывать событие клика, но менять src картинки.

xxxsnoop 15-02-2009 15:40 1039156

и КАК в моем случае будет выглядеть код?Например есть:

<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 1039300

Код:

<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 1039423

Что то у меня при обновлении картинки пишет "Ошибка на странице" и потом "готово"...почему происходит ошибка?
Я прописал 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 1039504

Ops, прошу прощения, уберите "console.log(image.src)" из кода :). C id все правильно. Ну и интервал стоит подобрать нужный, измеряется в миллисекундах.

xxxsnoop 17-02-2009 08:41 1040896

Prisoner, спасибо, все работает))

Porecla 17-02-2009 22:47 1041749

Prisoner, Блин, ребята а у меня не работает :-(

Prisoner 18-02-2009 08:30 1041952

Porecla, доброго времени суток. Телепатируйте, что именно :).

xxxsnoop 18-02-2009 08:40 1041957

Porecla, что не работает?Что именно тебя интересует?

Porecla 18-02-2009 12:54 1042145

Цитата:

Цитата xxxsnoop
что не работает?Что именно тебя интересует? »

Ну в Опере вообще не обновляется, в IE тоже не обновляется и пишет что в это строчке нужен объект.
Цитата:

Цитата Prisoner
var imageSrc = image.src; »

Прописал вот так <img id='imageId' src="444.jpg" height="500" width="300">

Поставил интервал 20000, после открытия страницы быстренько, меняю 444.jpg на другое изображение. И ничего, всё стоит на месте.

Prisoner 18-02-2009 13:06 1042159

Видимо код запускается раньше окончательной загрузки DOM. Как вариант разместите вызов setImageAutoreloadAbility в самом низу страницы.
А 20000 это быстренько? 20 секунд ведь. И что значит "после открытия страницы быстренько, меняю 444.jpg на другое изображение"? Если на другой узел, без ID или с отличным от 'imageId' (кстати, можно и другой ID использовать, посемантичнее), то, возможно, в этом причина - нет ID, нет и мультиков.

Porecla 18-02-2009 16:43 1042394

Цитата:

Цитата Prisoner
setImageAutoreloadAbility в самом низу страницы »

Ну вот теперь всё работает. :-)

Prisoner 18-02-2009 17:33 1042462

Цитата:

Цитата Porecla
Ну вот теперь всё работает »

Звучит, будто в том, что не работало, была моя вина :)

Porecla 18-02-2009 18:15 1042496

Цитата:

Цитата Prisoner
Звучит, будто в том, что не работало, была моя вина »

Виноват всегда тот кто прав :-)

Жизненная мудрость .


Время: 22:15.

Время: 22:15.
© OSzone.net 2001-