Замена незагрузившейся картинки на другую

Статус
В этой теме нельзя размещать новые ответы.

Fus-Sheva

Постоялец
Регистрация
19 Фев 2007
Сообщения
68
Реакции
9
Если на своем сайте вы размещаете графические изображения с других серверов, (например баннер) то вам скорее всего известны случаи, когда некоторые чужие сервера не работают, и вместо картинки вы видите пустую рамку с крестиком или оборванным листком. Это сильно портит внешний вид страницы. Данный скрипт заменяет незагружающуюся картинку на какую-то другую, которая например сообщает пользователю, что такой-то сервер не работает.

Ссылка может выглядеть примерно так:


И не забудьте в тэге IMG указать размеры изображения, иначе в некоторых браузерах картинки будут искривленными.
Кстати, в свое время я использовал этот фокус для сообщения игрокам о состоянии игрового сервера (работает или нет) :)
 
  • Нравится
Реакции: Skie
Спасибо.
Ещё таким макаром можно редирект впихивать :)
 
На самом деле лучше заранее выставить setTimeout(), а на загружаемую картинку (или ифрейм) повесить событие onLoad, которое будет делать clearTimeout().

Таким образом если за определенное время картинка не загрузилась - вызовется по таймауту функция, которая может как-то исправить ситуацию.

И почему эта тема в разделе "PHP" ?
 
точно не помню..
можно создать таблицу с

и тогда если не загрузится картинка - появится бэкграунд с твоей картинкой.
 
а событие onError всеми браузерами поддерживается?

KEPZ, ну это опять же от браузера зависит. Некоторые будут показывать крестик, который будет загораживать бэкграунд.

PS. да, php тут не причем, кстати
 
Полагаю, что есть и такой метод: после загрузки страницы запускать javascript читающий список элементов страницы и проверяющий состояние элементов img. Для элементов с незагруженными картинками выполнять экшн по переназначению урла на другой сервер.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху