2012-06-12 6 views
0

Я читал наилучший способ обработки изображений для веб-сайта (который циклически просматривает изображения, отображаемые при щелчке пользователем элемента), и это кажется, предварительный загрузчик выгоден.Работает ли этот предварительный загрузчик? Он не используется для отображения статуса, просто ускоряет загрузку изображения позже.

Учитывая, что вы можете вынуть предварительный загрузчик, и текущая установка просто вставляет изображение1 в div в любом случае из массива, является предварительным загрузчиком, который включает все потенциальные запросы HTML в начале, поэтому уменьшает потенциальное время загрузки позже или это бесполезная реализация, поскольку она написана?

Должен ли я снимать изображения с imageObj в .append(...)?

-NOTE - Я знаю, что я только разрешаю вызов изображению1 как есть, но это всего лишь практика.

HTML

<body> 
    <a href='#' id="image1"> 
    Click for image 1 
    </a> 
    <hr/> 
    <a href='#' id="image2"> 
    Click for image 2 
    </a> 
    <hr/> 
    <a href='#' id="image3"> 
    Click for image 3 
    </a> 
    <hr/> 
    <a href='#' id="image4"> 
    Click for image 4 
    </a> 
    <div id="image"> 
    </div> 
</body> 

JavaScript/JQuery

// JavaScript Document 

function preloader() 
{ 
    var i = 0; 

    imageObj = new Image(); 

    images = new Array(); 
    images[0]="images/image1.jpg" 
    images[1]="images/image2.jpg" 
    images[2]="images/image3.jpg" 
    images[3]="images/image4.jpg" 

    for(i=0; i<=3; i++) 
    { 
     imageObj.src=images[i]; 
    } 
} 

$(document).ready(function(){ 

    preloader(); 

    $('#image1').click(function(){ 
     alert("Handler for #image1 .click() called."); 
     $('#image').append('<img id="theImg" src=' + images[0] + ' />'); 
    }); 

}); 

ответ

0

Эффект этого кода является просто «потрогать» каждый возможный образ, так что будет загружаться в кэш, но не ваш DOM, если это делает смысл.

Должен ли я фактически брать изображения из imageObj в .append (...)?

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

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

+0

А, да, хороший момент Я не думал об этом. Большое спасибо! Тогда я буду придерживаться этого в «полезной» библиотеке. :) Спасибо за указатель на несколько поддоменов/CDN. Это оценено. –