Не удается заставить LazyLoad и onerror работать вместе с изображением

У меня есть несколько изображений на моей странице:

<img src="http://www.abc/images/abc.jpg" />

Если изображение не может быть загружено (например, потому что abc.jpg не существует), то вместо этого я показываю изображение «по умолчанию»:

<img src="http://www.abc/images/abc.jpg" onerror="this.src='http://www.abc/images/default.jpg'" /> 

Если я добавлю LazyLoad к своему изображению и загружу еще более легкое изображение по умолчанию, оно станет таким:

<img
    class="lazy"
    data-original="http://www.abc/images/abc.jpg"  
    src="http://www.abc/images/graydefault.jpg"
    onerror="this.src='http://www.abc/images/default.jpg'" /> 

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

Но что произойдет, если фактического изображения не существует? Облегченное изображение по умолчанию останется там, но это не то, что я хочу:

Как загрузить изображение по умолчанию (default.jpg) в случае ошибки?

PS: изображение по умолчанию довольно тяжелое, поэтому я бы не хотел загружать его как изображение по умолчанию.


person Ahtesham ul haq    schedule 20.05.2014    source источник
comment
это должно быть <img src=...   -  person Min Naing Oo    schedule 20.05.2014
comment
@MinNaingOo не понял тебя?   -  person Ahtesham ul haq    schedule 20.05.2014
comment
это должно быть <img src=... . не <img scr=...   -  person Min Naing Oo    schedule 20.05.2014
comment
Попробуйте отложенную загрузку xt plugins.jquery.com/lazyloadxt, она поддерживает необязательный обработчик ошибок.   -  person Denis Ryabov    schedule 21.05.2014
comment
@MinNaingOo спасибо, приятель, но это была ошибка ввода, в коде я пользователь SRC :)   -  person Ahtesham ul haq    schedule 27.05.2014


Ответы (1)


Используйте опцию «появляться» в lazyload js. Используйте следующий код в отложенной загрузке js для загрузки изображения src при ошибке

appear: function(ele,settings)
{
    $(ele).attr("src",$(ele).attr("data-original"));
}

Эта функция заменяет src на data-original, когда изображение доступно в порту просмотра. если URL исходного изображения данных не загружен, загружается изображение ошибки.

person Boopathiraj Velayutham    schedule 20.11.2014