Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   load firefox (https://javascript.ru/forum/events/51000-load-firefox.html)

eskize 20.10.2014 16:18

load firefox
 
var load_img = new Image();    // создаем объект "изображение"
            $(load_img).load(function(){
                $('.wrapper').css({'background-image': 'url('+ img +')'})
                
            })
            load_img.src = img;

Есть такой кусочек кода, он ждет пока подгрузится фон, потом меняет его. Все работает в хроме, но не работает в firefox.

danik.js 20.10.2014 22:42

А не лучше ли сделать прогрессивное изображение? Оно отображается сразу, а по мере загрузки проявляются детали.

eskize 20.10.2014 23:35

Нет. Так как можно исправить баг с firefox?

рони 20.10.2014 23:45

eskize,
а как оно неработает? какая версия jquery?

eskize 21.10.2014 01:19

Последняя версия jquery. В хроме идет задержка, а потом смена фона. А в firefox - фон пропадает, задержка, смена фона.

рони 21.10.2014 03:15

Цитата:

Сообщение от eskize
В хроме идет задержка, а потом смена фона. А в firefox - фон пропадает, задержка, смена фона

не смог воспроизвести данный баг ... кеширование ... разные источники картинок ... мысли вслух

eskize 21.10.2014 13:55

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

рони 21.10.2014 14:04

Цитата:

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

если первоначального фона нет -- значит картинка номер 1 этого фона непрогрузилась -- пришла картинка номер 2 первой и стала фоном, хром видимо успевает картинку номер 1 загрузить раньше или берёт из кеша, потом меняет на картинку 2.

eskize 21.10.2014 17:44

Изначально фон есть, обновляю с кешем.

danik.js 21.10.2014 18:05

Закомментируй скрипт, отключи кэш в инструментах разработчика. Наблюдай. Подключи скрипт. Наблюдай.


Часовой пояс GMT +3, время: 16:13.