Préchargement d'image

WRInaute discret
Bonjour,

Peut-on forcer le navigateur client a mettre certaines images en cache ???

Je m'explique :

J'ai créé un script qui préchage les images dans une page ( sur laquelle est écrit : "merci de patienter" ) avant de charger la bonne page.

Le problème c'est que ça marche pour certains site, et pas pour d'autres, pour certains ordinateurs et pas pour d'autres ...

ici ça marche :

h**p://www.adlitteram-sante.com

ici ça ne marche pas

h**p://www.uncmi-idf.fr

En fait ce qui résoudrait mon problème c'est de pouvoir mettre en cache dans l'ordinateur de mon visiteur ( dans les fichiers internet temporaires ) les images, comme ça une fois préchargées elles sont toujours disponibles ...

Mais je ne comprends pas le critère qui préside à la mise en cache ou non des images ( aucune image des sites sur lequels j'ai essayé de faire cette expérience n'est présente dans mon dossier internet temporaire ! )

Merci d'avance de votre réponse :)
 
WRInaute discret
tu ne pourras pas précharger et forcer le cache à tous les coups

cela dépend du système, du navigateur, des réglages de chaque utilisateurs
certains désactivent le cache, certains réduisent la taille de celui ci ...
 
WRInaute occasionnel
Mais si on peut forcer le préchargement des images, moi je le fais en javascript, pour mes boutons graphiques => Une image différente du bouton au repos, au survol de la souris, en action et une fois le lien visite.

Voici le code:
Code:
/******prechargement du bouton********/
var bouton = new Array();
bouton [0] = new Image();
bouton [0].src = 'http://www.example.com/images/bouton_f2.png';
bouton [1] = new Image();
bouton [1].src = 'http://www.example.com/images/bouton_f3.png';
/************************************/
Là par exemple bouton_f2.png c'est pour le survol du bouton, et bouton_f3.png c'est pdt l'action. Ca marche avec tous les navigateurs qui ont javascript d'activé.
N'oublie de donner une URL absolue a tes urls d'images (dans la partie javascript) sinon le cache risque de s'embrouiller.
tu appel ce petit bout de javascript a chaque chargement de page et c'est bon.

David
 
WRInaute discret
David@site a dit:
Mais si on peut forcer le préchargement des images, moi je le fais en javascript, pour mes boutons graphiques => Une image différente du bouton au repos, au survol de la souris, en action et une fois le lien visite.

Voici le code:
Code:
/******prechargement du bouton********/
var bouton = new Array();
bouton [0] = new Image();
bouton [0].src = 'http://www.example.com/images/bouton_f2.png';
bouton [1] = new Image();
bouton [1].src = 'http://www.example.com/images/bouton_f3.png';
/************************************/
David

Merci pour la réponse :lol:

mais ce n'est pas ça que je cherche ( ton script sert à précharger tes images dans ta page )

moi je voudrais réaliser un script qui précharge les images pour toutes les pages du site :

si tu regardes ici

Tu verras que dans la page de préchargement tu vois défiler dans la barre d'état en bas le nom des images qui se chargent ...

puis quand tu es redirigé automatiquement les images se rechargent de nouveau !

C'est ça mon problème :cry:

A+
 
WRInaute occasionnel
Bonjour,

tu peux le faire via le CSS.
Après ton body tu mets un truc du genre:
<div class="preload1"></div><div class="preload2"></div><div class="preload3"></div>

Et dans ta feuille de style tu mets:
.preload1 {
background: url(/images/societe.gif);
display: none;
}
.preload2 {
background: url(/images/nouveaute.gif);
display: none;
}

Lorsque tu vas appeler tes images dans ta page, elles auront déja été chargées.

Cordialement,
 
WRInaute discret
Ben ouai logique que ca recharge apres une redirection, la bonne solution, c'est de faire un div blanc par dessu le temps que ca charge, pi de l'enlever une fois charger, mais les images se chargerons toujours :(

Tu peut pas faire stocker des images sur un pc qui bloque les tempory files internet... mais t'en fait pas, si la personne le bloque, c'est soit quelle a pas bcp de place sur son disque, soit un bon acces sur internet, donc c eu que ca regarde si le site est long a charger.
 
WRInaute occasionnel
Mais qd les images sont en cache elles y restent! Quelque soit la page qui l'appel. Par exemple, tu fais un script qui force le chargement de toutes tes images, et tu fais un appel de ce script sur toutes les pages (parce que les internautes ne viennent pas forcement de ta page d'index). Ensuite qd l'internaute navigue, son navigateur retrouve le même script mais ne l'éxecute pas puisque les images sont déjà dans le cache.
 
WRInaute discret
Tu est sur que ca marche, meme si l'ordi refuse de stocker les images?

Je me demande aussi, si le navigateur ne fait pas l'analyse des images avant d'utiliser celle du cache a chaque visite, et donc ralentir l'affichage !? (option -> Verifier a chaque visite s'il existe une version plus recente de la page) Sinon je suis daccord, Sans ces options tu gagne en vitesse, mais ta le risque de revoir une images qui n'y est plus ^^ :?
 
WRInaute discret
Ca ne marche pas car les images ne sont pas stockées en cache ( c'est mon problème ... )

mais je crois que je commence à trouver une solution ....

Je vous tiens au courant :wink:

A+
 
WRInaute occasionnel
siokoden a dit:
Tu est sur que ca marche, meme si l'ordi refuse de stocker les images?

Je me demande aussi, si le navigateur ne fait pas l'analyse des images avant d'utiliser celle du cache a chaque visite, et donc ralentir l'affichage !? (option -> Verifier a chaque visite s'il existe une version plus recente de la page) Sinon je suis daccord, Sans ces options tu gagne en vitesse, mais ta le risque de revoir une images qui n'y est plus ^^ :?

Si le navigateur refuse le cache evidement, mon script ne sert à rien, mais ca represente quoi? 0,005% de la population non?
Le navigateur (en tous cas IE>5 et ceux bases sur Mozilla) ne verifie les images que si tu forces un "rafraichissement" de la page ou si tu fermes et ré-ouvres le navigateur. Donc le risque de voir une image qui n'y est plus est vraiment minime, et on gagne donc en vitesse pendant toute la durée de la "session".
Si tu veux en être certain, programme-toi un exemple simple et regardes les logs de ton Serveur HTTP. tu vas voir qu'avec ma solution, ou la solution CSS proposé plus haut on gagne en vitesse et en bande-passante.

David
 
WRInaute occasionnel
Céo Kay a dit:
Ca ne marche pas car les images ne sont pas stockées en cache ( c'est mon problème ... )

mais je crois que je commence à trouver une solution ....

Je vous tiens au courant :wink:

A+

Comment es-tu sur que les images ne soient pas gardés en cache? Dans l'exemple que j'ai t'ai donné c'est vrai il faut des url absolu sinon certains navigateurs ont tendance à s'emmêler mais sinon....
 
WRInaute discret
Parceque je vide mon répertoire Fichier Internet Temporaire et que je vais sur mon site puis j'ouvre mon répertoire ... aucune trace des fichiers ...

En plus à chaque nouvelle page, les images se chargent ...

PS : je n'ai pas eu le temps de m'occuper de ça aujourd'hui, mais je vous montre dès que j'ai fini :lol:

A+
 
Discussions similaires
Haut