01
JUIN

ImagePreloader - Un plugin JQuery pour précharger vos images

Publié le 01/06/11 à 08h55 par Sybio

JQuery Image Preloader est un plugin JQuery pour précharger des images en fond dans le but d'accélérer le chargement de vos pages.

 

JQuery Image Preloader

 

Vous le savez certainement, la nouvelle mode dans le Web consiste à optimiser le temps de chargement de vos pages à l'aide de Sprites CSS par exemple, en minifiant vos codes JS et CSS, en réduisant le plus possible le nombres de requêtes vers des médias (Images, vidéos, scripts...) ou encore via des logiciels pour compresser au maximum vos images.

Les moteurs de recherche tiennent désomais en compte la métrique d temps de chargement des pages web dans  leurs algorithmes.

Le concept:

Lorsque tous les chargements d'une page ont été effectués, il ne se passe plus grand chose, et vous pourriez charger des images présentes sur d'autres pages du site en attendant. Les navigateurs les mettent en cache, ainsi lorsque vous vous rendez sur une autre page, ces images pré-chargées s'affichent directement.

On y gagne, une fois de plus, en temps de chargement.

Et c'est ce que permet le script de pré-chargement d'images, il vous permet de charger en fond des images qui figurent sur d'autres pages de votre site.

 

Utilisation:

Tout d'abord, récupérez le code contenu dans le gros snippet qui est en fait le plugin, et mettez-le dans un fichier.

Comme tout plugin JQuery, vous devez inclure la librairie JQuery et ce dernier sur votre page.

Ensuite, à vous d'utiliser la méthode voulue:

- Pré-chargez les images souhaitées à l'aide de la méthode $.preLoadImages:

$.preLoadImages(
     [
          'http://www.google.co.uk/intl/en_uk/images/logo.gif',
          'http://l.yimg.com/eur.yimg.com/i/uk/hp/yahoo1.png',
          'http://tk2.stc.s-msn.com/br/hp/11/en-us/css/i/msn_b2.gif'
     ],function(){
          alert('Toutes les images passées ont été chargées');
     }
);

- Pré-chargez toutes les images trouvées en lien dans le CSS avec la méthode $.preLoadCSSImages:

$.preLoadCSSImages(function(){
     alert('Toutes les images en lien dans les CSS ont été chargées');
});

- Ou le mix des 2 grâce à la méthode $.preLoadAllImages:

$.preLoadAllImages(
     [
          'http://www.google.co.uk/intl/en_uk/images/logo.gif',
          'http://l.yimg.com/eur.yimg.com/i/uk/hp/yahoo1.png',
          'http://tk2.stc.s-msn.com/br/hp/11/en-us/css/i/msn_b2.gif'
     ],function(){
          alert('Toutes les images passées et celles en lien dans le CSS ont été chargées');
     }
);

Notez que pour toutes les méthodes, il y a une fonction de callback appelée lorsque tout a été chargé, à vous d'en faire ce que vous voulez (laissez vide par défaut).

Autre remarque, il est judicieux d'exécuter le pré-load au bout de 5 secondes par exemple, tout simplement pour éviter de ralentir l'affichage de la page actuelle avec les images à pré-charger.

 

Site Officiel

Baraguiné par ddami1 le 01/06/11 à 14h28
ddami1 sur La Ferme du Web
Pas directement en rapport avec le sujet mais quelqu'un connait t'il un script qui charge les éléments (images par exemple) uniquement au moment où ils sont dans la zone scrollée visible à l'écran?
merci! :)
Baraguiné par le 01/06/11 à 14h56
Essaies lazyload (plugin jquery) : http://www.appelsiini.net/projects/lazyload
Baraguiné par Sybio le 01/06/11 à 15h19
Sybio sur La Ferme du Web
Tu as aussi lazyRender d'un fermier ^^ http://forum.lafermeduweb.net/sujet-420-savant-fou-recherche-cobayes
A savoir que les éléments qui apparaissent de cette façon ne seront pas référencés correctement ^^ (Donc à utiliser avec parcimonie, pour les commentaires de billets par exemple et autres textes moins importants)
Baraguiné par leknoppix le 29/03/12 à 16h00
leknoppix sur La Ferme du Web
Le lien est mort.
Baraguiné par toupicat le 26/04/12 à 23h52
toupicat sur La Ferme du Web
Bonsoir,je débute donc soyez indulgents.. Comment faire concrètement pour exécuter le préload au bout de 5 sec ? Et concernant la méthode $.preLoadImages, il faut nommer l'adresse de ma page web où figurent les images à précharger, ou simplement le chemin où se trouvent mes images ? Merci pour vos reponses

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web