Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как в опере принудительно "обновить" рисунок?


Автор: JaguarSmith 11.10.2005, 02:16
smile Доброе время суток!

Проблемка заключается в том что у меня на форме отображается код - для того чтоб всякие роботы эту форму не заполняли своим спамом. Форма написана на .NET и там динамически обновляются разные элементы при этом значение кода изменяется.

В ИЁ рисунок обновляется нормально, а как заставить сделать это Оперу не обновляя страницы?

Я пробовал принудительно обновлять так:
Код

function update_pic()
   {
    document.Form1.RoboKiller1_Image1.src="numshow.aspx"; 
    setTimeout("update_pic();", 100);
   };

Но такое опятьтаки работает только в ИЁ smile да и трафика тратиться многовато smile ...

Автор: diam 11.10.2005, 07:30
Используйте DOM.

Если нужно изображение и у него есть id, то находить нужно так:
Код

function update_pic() {
        var img = document.getElementById("myimg");
        img.src = "new_img";
        setTimeout(update_pic, 100);
}

Автор: JaguarSmith 11.10.2005, 12:58
smile попробовал не помогло...

Опять работает только в ИЕ - там рисунок обновляется, а в опере почему-то нет. smile

Да может это важно там ситуация такая - URI рисунка один и тот жы меняется только содержимое рисунка.

Автор: sergejzr 11.10.2005, 13:00
Цитата(JaguarSmith @ 11.10.2005, 11:58)
Да может это важно там ситуация такая - URI рисунка один и тот жы меняется только содержимое рисунка.

Угу. Опера кертинки кэширует.

выход простой писать вместо:
<img src="numshow.aspx"/>
вот так:
<img src="numshow.aspx?test="/>

тогда кэшироваться не должно.

Автор: Sardar 11.10.2005, 18:21
Цитата(sergej @ 11.10.2005, 12:00)
вот так:

Опера може закешировать, как и Мозилла. Лучше добавлять к url ("?="+(new Date()).getTime())

Автор: JaguarSmith 12.10.2005, 03:55
Не знаю как в Моззиле у меня его нет smile а в 8 опере работает и без дополнительных наворотов вариант предложенный sergej.z
Огромное спасибо!!! smile

Автор: sergejzr 12.10.2005, 11:01
Sardar прав, могут и кэшировтаься. Смотря как по настройкам браузера.
Поэтому навешивать случайный аргумент будет правильнее. Лучший вариант - делать это уже на сервере при генерации старницы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)