Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Картинка nophoto если отсутствует реальная


Автор: Eridani 3.10.2014, 18:23
Добрый день.

Постараюсь объяснить доступно:
Многие наверное видели потоковые плееры для радио на сайтах, в которых транслируется обложка играющего трека и меняется спустя какое то время или же сразу же после перехода на следующий трек.

Вся проблема в чем - картинка существует по адресу www.site.ru/stream.png. Еесли в играющем файле она отсутствует, то по этому адресу выдается 404-ая ошибка.

Я данную картинку прописываю как
Код

<img class="img_reload" src="www.site.ru/stream.png">


с авторефрешем каждые 30 секунд.
Границы картинки прописаны 150 на 150.

Соответственно, если картинка отсутствует, то остается пустая рамочка http://prntscr.com/4so974
Понятное дело, смотрится вообще не комильфо.

Вот у меня думалки не хватает прикинуть, как этот вопрос решить, чтобы при отсутствии картинки выдавалась какая-то дефолтная типа "NoPhoto".

Мне подсказывали, что можно написать скрипт проверки, если картинка присутствует, то выводить блок, а если нет, то display:none;

Не знаю, прокатит ли, но т.к. мои познания в яваскрипт печальны, я пришел сюда просить помощи или хотя бы совета.

Надеюсь на дельные советы

Автор: ksnk 3.10.2014, 18:34
Напиши обработчик 404 ошибки. Если требуется картинка - можно выдать картинку, а не страничку с текстом 404...

Чтобы понять что требуется - можно посмотреть на заголовок accept 

Автор: Eridani 3.10.2014, 18:48
Цитата(ksnk @ 3.10.2014,  18:34)
Напиши обработчик 404 ошибки. Если требуется картинка - можно выдать картинку, а не страничку с текстом 404...

Чтобы понять что требуется - можно посмотреть на заголовок accept

На стороне передающего эту картинку сервера? Сие невозможно.

Не имею туда доступа.
А нельзя ли как то проверку поставить, допустим :

если переменная X существует, то вывести картинку
в противном случае вывести картинку #2 (она же дефолтная) ?

Автор: ksnk 3.10.2014, 20:25
Цитата(Eridani @  3.10.2014,  18:48 Найти цитируемый пост)
Не имею туда доступа.

это как это? А исходники сайта как тогда править?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)