Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> onerror - не существует в Мозилле? 
:(
    Опции темы
Иль
Дата 10.5.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Ребят, а что, Лиса и Мозила не дружат с onerror для Image, как дружит с ним ИЕ, да?


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Иль
Дата 10.5.2005, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Почитал рулез, действительно не дружат.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 10.5.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Onerror - IE4+ и NN3+ для тега <img>

Да работает, вроде. Должен. В чем проявляется "его неработоспособность?"
Читай...

PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 10.5.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Я протестил, не работает. Покрайней мере для смены src у уже загруженного изображения.
Сейчас пойду почитаю, что ты предложил
Добавлено @ 20:19
Почитал. Нда, буду выкладывать код.
Однако в руском переводе-аналоге этот текст не так явно ссылается на связь с файлом изображения.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Иль
Дата 10.5.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Вот код. Перепроверил и чего-то onerror у меня не работает
Код

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<img id="x" src="pic1.gif">
<script language="JavaScript" type="text/JavaScript">
a=new Image();//на всякий и такое изображение проверим
x.onload=function (){alert("x-onload")}
x.onerror=function (){alert("x-onerror")}
a.onload=function (){alert("a-onload")}
a.onerror=function (){alert("a-onerror")}
x.src=a.src="pic.gif"
x.src=a.src="pic1.gif"
</script>
</body></html>



--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 10.5.2005, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Ну начнем с того, что Mozilla (могу ошибаться) не позволяет такого.
Нельзя так обращаться к объекту, вот так нужно:
Код

var imgX = document.getElementById("x");
var imgA= document.getElementById("a");


Потом, ты представляешь, что делает это событие?
Добавлено @ 22:04
Вот, пример простой, полезный:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Test event ONERROR</TITLE>
<script type="text/javascript" language="JavaScript">
<!--
function debug() {
   alert("Ошибка!");
}
// -->
</SCRIPT>
</HEAD>

<BODY>

<IMG id="x" src="null" ALT="DEBUGING..." onerror="debug()" />

</BODY>
</HTML>


Я сам планировал сделать нечто подобное - аля циклом пробегусь по всем картинкам и если какая-то onerror - то обновляю страницу.
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 11.5.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Цитата(Aliance @ 10.5.2005, 21:59)
Mozilla не позволяет

Пробовал, позволяет. И onload ведь срабатывает исправно.
Такое обращение в Gecko даже может быть извратнее нежели в ИЕ. Например в ИЕ можно обратится к элементу формы только через forma.inp.value, а Mozilla к этому еще позволяет inp.value, конечно если элемент inp уникальный во всем документе и нет одноименной глобальной переменной.
Цитата(Aliance @ 10.5.2005, 21:59)
Вот, пример простой, полезный

Вот я и думаю, что это не сработает в Gecko, мой пример четко показывает это.

А может можно как-то подлесть к этому событию через event или в Gecko onerror недоделанный напрочь.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 11.5.2005, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Читай ссылку выше. Там нет никаких ушемлений, не написаны.
А инфа с оф. сайта мозиллы smile

ЗЫ:
мой код не работает?
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 11.5.2005, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Цитата(Aliance @ 11.5.2005, 19:29)
мой код не работает?

Я не могу сказать не проверив, но думаю он не будет работать. Сейчас проверю
Добавлено @ 19:37
Да, проверил, твой код не работает в Gecko


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 11.5.2005, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Попробуй убрать src вообще, сделай пустым, поставь левое значение (1.gif)
Если итак не заработает - тогда видимо что-то урезано. Точнее сказать не могу. На этой машине (где я в данный момент) нет Mozilla.
Добавлено @ 19:40
Цитата
Я не могу сказать не проверив

Как же такможно smile
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 11.5.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Не знал что onerror так странно себя ведёт в Мозилле... smile
Я его никогда не юзал, мне было проще поставить интервал с частотой 1с и проверять подгружаемые картинки. Но это так редко используеться, в реальных проектах никогда картинки на загрузку не проверял...

Иль хорошо что ты нашёл проблему, еще лучше мы её таки порешаем без изврата smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 11.5.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



К стати, легко отсечь бродилки которые не воспринимают onerror и применить к ним тайминги (вот не люблю я это делать smile).

Насчет статьи. Я читал русскую ее версию (видно, что первоисточник с сайта Mozilla), так там какой-то добрый россиянин аккуратненько подправил смысл в соответствии с данным глюком для изображения.

А знаешь, в чем видимо закавыка, по сути onerror для изображения это отправка и обработка отдельного http запроса (вроде как XMLHttpRequest, но он с изображением работать не умеет). Получается Gecko отправить запрос на загрузку картинки может, а обработать его поленились научить. Отсюда похоже и уродское свойство complete в этих браузерах.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 11.5.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Что очень странно. Насколько мне известно, Мозилла такой браузер, который очень придерживается стандартам и правилам.
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 11.5.2005, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Да, надо подумать. Вот, например, решение тестить размеры картинки, но оно не пойдет если картинки одинакового размера. А еще для стартовой загрузки пойдет тестить "натуральные размеры". Они будут равны нулю при неудачной загрузке. Не тестил пока, но может это сработает и для смены src в последующем. Я тоже только коснулся данной проблемы, бредовый сон приснился smile


Sardar, сразу спрашу твоего опыта, а то дело встало. Ты какие в этом случае тайминги ставишь, 1сек?

Все, насегодня все, подруге обещал, отключаюсь...


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 11.5.2005, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Sardar, сразу спрашу твоего опыта, а то дело встало. Ты какие в этом случае тайминги ставишь, 1сек?

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


Цитата
по сути onerror для изображения это отправка и обработка отдельного http запроса (вроде как XMLHttpRequest, но он с изображением работать не умеет). Получается Gecko отправить запрос на загрузку картинки может, а обработать его поленились научить.

Да, ИЕ более правильно работает кидая исключение если картинка не найденна(404) или вышел таймаут.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1696 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.