Компьютерный форум 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=131937)

System Failure 14-02-2009 00:12 1037932

Определение наличия рисунка
 
Доброго времени суток!

Столкнулся со следующей проблемой...

Генерируется особым образом код - по этому коду вставляется на странице изображение. Дело в том, что требуется, если такого изображения в наличии не имеется - чтобы выполнялся альтернативный код. Как можно это организовать на JS? Заранее спасибо!

Prisoner 14-02-2009 12:44 1038154

Приветствую.
Цитата:

Цитата System Failure
Генерируется особым образом код - по этому коду вставляется на странице изображение. »

Вот можно об этом подробнее? Кем генерируется, кем по сгенеренному вставляется?

Не знаю, правильно ли я понимаю, но наличие или отсутствие картинки я бы определял серверными методами и генерировал бы код так:
HTML код:

<img src="/some/exist/image.jpg" width="X3" height="X3" alt="X3">

<img src="/some/not_exist/image.jpg" width="X3" height="X3" alt="X3" class="imageNotExist">

А вот после загрузки DOM выбирал картинки с соответствующим классом.

System Failure 14-02-2009 14:44 1038219

в ЯваСкрипте генерируется код...
ну в общем есть определенный исходный код в шестнадцатеричном формате. в этом коде зашифрованы некоторые параметры некоего объекта... согласно этим параметрам генерируется код для картинки... к примеру 00A580F9.gif . В базе имеется большой набор таких картинок, для каждого объекта своя. но бывает что генерируется код для несуществующей картинки, которой нет в базе... временно решил проблему, тем что задал проверку на ширину картинки. если ширина картинки равна ширине значка отсутствия изображения - то выполняется альтернативный код.

пример:
Код:

table.rows[x].cells[y].innerHTML = "<img src='items/" + tnpl + itype + tipaj + nxt + ".gif' id='" + tnpl + itype + tipaj + nxt + "' onmouseout='hideInfo();' onmousemove='getCoords(event);showInfo(" + lvl + "," + g + "," + h + ")'>";

Prisoner 14-02-2009 19:47 1038474

Ага. Ну тогда имеет смысл поиграться с обработкой событий onLoad и onError для изображения. Точнее даже именно onError:
HTML код:

<img src="" width="" height="" alt="" onerror="imgErrorHandler()">
Возможны проблемы с Оперой - в моем тесте событие для отсутствующего изображения срабатывало дважды.

System Failure 15-02-2009 01:02 1038694

о, спасибо.... попробую поиграться - посмотрим что получится - обязательно отпишу рез-тат :)


Время: 18:27.

Время: 18:27.
© OSzone.net 2001-