Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.08.2009, 19:10
Новичок на форуме
Отправить личное сообщение для juckoff Посмотреть профиль Найти все сообщения от juckoff
 
Регистрация: 17.08.2009
Сообщений: 2

опера и readyState
вот такая фунция на onclick:


Код:
prvImg = new Image();
prvImg.src = 111.jpg;

if (prvImg.readyState == "complete") {
alert("111111");
}
else prvImg.onload = function() {
alert("2222222");
};
в опере нет ни alert1 ни alert2, в IE и мозилла все ок. Почему? Плиз хелп.

Последний раз редактировалось juckoff, 17.08.2009 в 19:13.
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2009, 19:12
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

src устанавливайте после установки событий.
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2009, 20:00
Новичок на форуме
Отправить личное сообщение для juckoff Посмотреть профиль Найти все сообщения от juckoff
 
Регистрация: 17.08.2009
Сообщений: 2

сделал так:

Код:
function qwerty ()
{
prvImg = new Image();

if (prvImg.readyState == "complete") {
alert("111111");
}
else prvImg.onload = function() {
alert("2222222");
};

prvImg.src = 111.jpg;
}
спасибо, работает.

Но хотелось бы разобраться...

вопрос№1:
alert111 теперь не выскакивает никогда, даже когда очищаю кеш. Но ведь картинка должна туда записываться. по мойму alert111 за это и отвечает. Или я не прав?

вопрос№2:
непонял логику. Как могут сработать события, если источник указан после них.
Ответить с цитированием
  #4 (permalink)  
Старый 17.08.2009, 21:10
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от juckoff
alert111 теперь не выскакивает никогда, даже когда очищаю кеш. Но ведь картинка должна туда записываться. по мойму alert111 за это и отвечает.
Он и не должен. Вы же его проверяете, когда у картинки нет src. Это просто пустой объект, грубо говоря. Зачем он вам вообще нужен?

Сообщение от juckoff
Как могут сработать события, если источник указан после них.
А в чем проблема? В том-то и дело, что если картинка берется из кэша, onload наступает до того, как вы повесите на него обработчик.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XMLHTTPRequest и REadyState _Shasha_ AJAX и COMET 0 10.10.2008 09:00
Закрыть браузер (Опера) Fillonik Общие вопросы Javascript 1 28.07.2008 11:17