Предварительная загрузка изображений, замедляющая загрузку страницы - PullRequest
1 голос
/ 01 апреля 2011

У меня есть слайд-шоу, встроенное в jquery, в котором хранятся URL-адреса изображений в массиве.Когда вы нажимаете следующую кнопку, он отправляет запрос на сервер, чтобы получить изображение, а затем показывает его.Это работает, но изображение загружается постепенно сверху вниз, как только они получены.Я решил эту проблему, добавив следующий код ...

//Preload background images
            function MM_preloadImages() { 
              var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
                var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
                if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
            }
            MM_preloadImages(<%= preloadImages %> );

Проблема теперь в том, что первое изображение загружается целую вечность.Я думал, что страница будет загружаться с первым изображением, а затем с другими в функции предварительной загрузки в фоновом режиме?

Спасибо за любой совет.

1 Ответ

0 голосов
/ 01 апреля 2011

Ну, мы не можем сказать, в каком порядке происходит предварительная загрузка, из кода, который вы разместили, но вы можете изменить код так, чтобы он запускал MM_preloadImages только после завершения загрузки текущей страницы.

Тем не менее, похоже, что вы предварительно загружаете все изображения в начале. Почему бы не только предварительно загрузить следующее изображение или два и продолжать делать это каждый раз, когда слайд-шоу продвигается? Таким образом, браузер все еще не занят, пытаясь загрузить все шоу, пока пользователь пытается перейти к следующему слайду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...