$(document).ready в google chrome?

В хроме (17-beta, 16-stable) onload-триггер срабатывает до того, как загружены изображения.



Если из этого триггера вызывается ajax-зарос и хочется показывать юзеру индикатор загрузки с анимированной gif-крутилкой — он его не увидит, потомучто на момент отсыла запроса gif ещё не загружен.



Как быть?
  • Вопрос задан
  • 4229 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Закодируйте gif в base-64 и используйте в CSS data:uri — duris.ru/faq/
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
А не проще сделать эту gif-ку сразу видимой? Страница же загружается.
Ответ написан
lashtal
@lashtal
Он и должен срабатывать до загрузки изображений. Хром тут ни при чем, кстати.
Для изображений есть imagesLoaded ( github.com/desandro/imagesloaded ) из-под masonry.
Ответ написан
Комментировать
Fr3nzy
@Fr3nzy
В Chrome и Safari, в таких случаях, так же можно использовать $(window).load(), который «выстреливает» лишь после загрузки всякого медиа-контента.
Ответ написан
Комментировать
nikitammf
@nikitammf
событие срабатывает верно, можно написать чтобы вызывались все функции после загрузки картинки
jQuery(function($){
    var loadingImage = new Image();
    loadingImage.onload = function(){
        loadingImage.onload = null;
        //основные функции
    };
    loadingImage.src = "image/loader.gif";
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы