Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   проверка загрузки рисунка в IE (https://javascript.ru/forum/dom-window/7204-proverka-zagruzki-risunka-v-ie.html)

HelpeR 20.01.2010 21:44

проверка загрузки рисунка в IE
 
Имеется
if(this.ie) {
			 
            if(this.img.readyState == 'complete' && this.img.complete == true) {
	            //действия
            }
            else {
                setTimeout(arguments.callee, 1000);
            }
        }
почему в ие как будто условие не работает. Но стоит перед условием поставить alert и после клика ок действия сразу выполняются.

Kolyaj 20.01.2010 22:38

У изображений есть событие load.

HelpeR 21.01.2010 10:29

событие load не всегда работает. Иногда вообще не работает а иногда через раз. Ну все я нашел выход.

Ex_Soft 21.01.2010 10:52

Цитата:

Сообщение от HelpeR (Сообщение 41291)
событие load не всегда работает. Иногда вообще не работает а иногда через раз

Можно с этого места попдробне?

HelpeR 21.01.2010 11:15

тут подробнее нечего сказать. Эта работа разных браузеров. И если привязывать это событие через js то оно почему то не всегда срабатывает. Точно будет работать так <img src='img.gif' onload="alert('this image is loaded');">

Kolyaj 21.01.2010 11:52

Оно всегда срабатывает, просто нужно его назначать до присваивания src.

Ex_Soft 21.01.2010 12:12

Цитата:

Сообщение от HelpeR (Сообщение 41305)
если привязывать это событие через js то оно почему то не всегда срабатывает. Точно будет работать так <img src='img.gif' onload="alert('this image is loaded');">

/me думает: а-ха... Т.е. флюктуация наблюдается только при addEventListener/attachEvent? Круг - сужается. А какие именно browser'ы грешат? Просто я лично никогда с таким не сталкивался - интересно стало.

HelpeR 21.01.2010 12:14

Цитата:

Оно всегда срабатывает, просто нужно его назначать до присваивания src.
Буду тестить

Ex_Soft 21.01.2010 12:14

Цитата:

Сообщение от Kolyaj (Сообщение 41306)
Оно всегда срабатывает, просто нужно его назначать до присваивания src.

О-о-о! Пока писал Kolyaj расставил все точки над i и прояснил ситуацию.


Часовой пояс GMT +3, время: 16:50.