Préchargement d'images

mickadevelop Messages postés 55 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 4 juin 2010 - 9 févr. 2006 à 17:55
mickadevelop Messages postés 55 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 4 juin 2010 - 16 févr. 2006 à 14:43
Bonjour à tous,

Est il possible de charger automatiquement des images contenus dans une page sans connaitre le nom des images. J'ai regardé dans les codes présents sur le site et dans tous ceux que j'ai vu je constate que l'on place le nom des images dans un tableau ensuite on parcours le tableau avec une boucle et on utilise im1=new Image(); im1.src=tableau[i].src;
Est il donc possible d'utiliser le tableau images lié à l'objet document pour charger les images d'une page sans les définirs dans un tableau.
exemple
function loadpicture2()
{
if(document.images && document.images.length>0 && (navigator.appVersion.substring(0,1)>=3))
{
var im = new Array();
for(i=0;i<document.images.length;i++)
{
im[i]=new Image();
im[i].src=document.images[i].src;
}
}
}
Merci pour la réponse car je suis un peu perdu.

mickadevelop

4 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
15 févr. 2006 à 08:20
Bonjour....

La méthode de préchargement permet de ne pas afficher les images dans un document pour un usage à posteriori, rollOver swapping etc... ce préchargement évite donc l'attente en cas de besoin puisque les images sont mises dans le cache.

La fonction que tu mentionnes, ou plutôt for(i=0;i<document.images.length;i++)
permet de voir les propriétés de TOUTES les images appartenant au document donc dans une balise ...Est il donc possible d'utiliser le tableau images lié à l'objet
document pour charger les images d'une page sans les définirs dans un
tableau...
la réponse est cela ne sert à rien car elle sont chargées par définition

Mais ai je bien compris ton soucis ou ton besoin...

;0)
0
mickadevelop Messages postés 55 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 4 juin 2010
15 févr. 2006 à 15:07
Bonjour,
merci Petoleteam pour cette réponse claire. :-) Je viens de comprendre l'importance de precharger les images pour le rollOver
grace à ton explication)

J'ai cependant une autre question. J'ai lu sur des forums que l'on pouvait utiliser le préchargement d'images afin de permettre un affichage des images d'un coup cet à dire pas la première image puis 1 seconde apres la deuxième puis une demi seconde apres la troisième et ainsi de suite . Est ce vrai?

Pourquoi je pose cette question c'est en fait parce que sur un site web sur les serveurs de free (je ne veux pas faire de pub!!!) j'ai des pages avec un certain nombre d'images et le problème c'est que lors du premier affichage de la page certaines images manques (comme si elles étaient absentes du serveur)(le nom du fichier est correcte cet à dire pas de majuscule pas d'espace pas de caractère spécial...). Et ce qui est rigolo c'est que c'est lors du deuxième affichage que toutes les images apparaissent. Alors je me suis dis que l'on pouvais peut etre préchargé les images avec la méthode classique
im[i]=new Image();
im[i].src=image1.jpg;
Ce qui permettrait de résoudre le problème.
Ma seconde idée était donc de faire un bout de code que je pourrais coller sur chaque pages du site mais sans avoir a changer à chaque fois le nom des images présentes sur la page dans mon script. Voila donc le pourquoi du comment de ma question.

Est ce que le préchargement des images peut donc résoudre le bug sur free?
Est ce que quelqu'un à déja connu ce genre de problème?
A t'il utilisé le préchargement d'images pour résoudre ce problème?
A t'il utilisé autre chose?
Voila j'espère j'ai été complet sur la question. Et merci d'avance à ceux qui voudront bien s'arracher les cheveux avec moi sur cette question.

mickadevelop
Ps: c'est quoi le swapping ?
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
16 févr. 2006 à 07:42
Bonjour Bien...

Il n'y a pas d'idéal mais bon... ce qui suit n'engage que MOI!

AFTERLOAD...
Le préchargement pour être invisible et donner une impression de plus de vitesse d'affichage doit se faire suite à l'événement onload...

En effet il est intolérable d'attendre l'affichage d'un site, quelqu'il soit, aussi il est indispensable, à mon sens, de n'afficher que ce qui doit l'être.
exemple:
Album photos avec 100 photos dont seules les 10 premières sont affichées sur la 1st page.

L'idée est donc de charger avec les balises que les 1st puis de précharger les autres et de les affecter aux balises correspondantes identifiées par une ID.

Il ne faut pas oublier non plus que une
image
ne doit afficher qu'une image qui a la taille de 400x250 et non une
image initiale de 1080x800 par exemple. Il faut donc optimiser en les
réduisant même si elle sont vraiment super. Assez souvent il existe 2 exemplaires des photos, une vignette et la vraie on charge les vignettes et si un click doit afficher la Grande alors on l'affiche rapidement car elle à été préchargée.

PROBLEME...
Le problème rencontré est possiblement lié a un problème de cache, ça c'est malheureusement la soupe interne de chaque internaute et du navigateur. De plus l'ordre avec lequel les images sont affichées c'est ????

SWAPPING
...en anglais échange ou un truc dans ce goût...
le Swapping permet par exemple de faire des rotations d'images tout les 'Delay' grace à la fonction setTimeout. C'est typiquement la rotation des banniéres de PUB sur les pages de certains sites qui change toutes les 1mn.

En espérant avoir été à peu prêt Clair...

;0)
0
mickadevelop Messages postés 55 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 4 juin 2010
16 févr. 2006 à 14:43
Bonjour Petoleteam :-)
Je te remercie d'une part pour avoir pris le temps de te pencher sur ma question et d'autre part pour tes réponses claire c'est tres sympa. Merci encore

mickadevelop
0
Rejoignez-nous