Как обрабатывать «изображение повреждено или усечено» в Firefox
PLUGIN
Я использую плагин JQuery под названиемLazyLoad.
Что это делаетlazy
загружать изображения - это означает, что они не отображаются в браузере, пока изображение не попадает в область видового экрана.
Это полезно, например, если у вас есть страница, на которой много изображений, и вы не хотите, чтобы она затрачивалась вечно с начальной загрузкой.
FIRE FOX
Хорошо, я тоже используюFirefox
версия23.0.1
ПРОБЛЕМА
Плагин отличный, однако при прокрутке вниз после некоторых изображений я начинаю получать ошибки, когда изображение не загружается (просто имеет общий заполнитель для разорванной ссылки на изображение) и в консоли оножурналы:
Image corrupt or truncated: [image url]
Дело не в том, что есть проблема с изображением. Все они отрисовываются нормально по отдельности.
Это не на КОНКРЕТНОМ изображении, поскольку это случайно. Если я снова загружу страницу, изображения, которые былиcorrupt
может загружаться сейчас, другие изображения возвращают неработающую ссылку и регистрируютсяcorrupt
в консоли.
Я искал вокруг, и кажется, что есть некоторая проблема с одновременными выборками для<img>
тег src.
Возможно, для извлечения должна быть установлена задержка, однако вы не всегда можете определить, насколько длительной должна быть задержка. И если одно изображение больше другого, оно все равно может конфликтовать (со статическим временем задержки, в отличие отcomplete
Перезвоните).
Следовательно,Я хотел бы запросить:
а) Если кто-нибудь знает решение этой проблемы (например, перехват при возникновении ошибки и повторный запуск функции загрузки изображения)
б) Если кто-нибудь может предложить$.extend()
в библиотеку выше (lazyload), которая создаст функцию обратного вызова и будет ждать, пока все активные выборки не будутcomplete
перед загрузкой следующего (ЕСЛИ это проблема - я не уверен, что это так)Я не JQuery ниндзя, поэтому я немного заблудился в коде. Я мог бы понять это, но это, вероятно, было бы грязно ...
с) если это не проблема, то было бы желательно получить какое-то направление относительно того, как я могу решить эту проблему.