IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

preloadage img en cache


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut preloadage img en cache
    heeello!!!

    j'ai un ptit problème... j'en ai juste marre de voir les images de mes pages web se charger petit à petit...

    fait que je me suis renseigné à savoir comment faire pour d'abord charger les images dans la mémoire cash du client puis affiché la page "d'un coup, d'un seul"... et je ne parle pas de rollover...

    donc daprès ce que j'ai compris il y aurait 3 solutions :

    1) en css :
    ...
    <style type="text/css">
    .preload {background: url(mon_img.gif);display: none;}
    <style>
    </head>
    <body>
    <div class="preload1">&nbsp;</div>
    ...

    2) en javascript
    ...
    img = new Image();
    img.src =mon_img.gif';
    </head>
    ...

    3) en css encore:
    qui consite à mettre un calque au début du body ou meme dans le head puis le retirer à la fin du body


    conclusion : aucune de c'est 3 solution marche :
    - solution 1)vu que le browser n'a pas forcément fini de charger l'image du préload alors qu'il commence à charger la page...
    - solution 2)ca marche pour les rollover et c tout...
    - soltion 3) meme problème que pour le 1) les browser enlève le calque avant que toutes les images soit loader dans le cash du client...

    existe t-il une vrai solution pour le préchargement des images? si oui laquel?
    ou ce trouve la mémoire cache de mozilla?

    merci d'avance pour vos réponse ou commentaire,

    smellycat37

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    document.image[i].complete == true si l'image i est chargée.

    donc à priori :
    un div caché (voir si le fait d'être caché les images se chargent ou pas sachant aussi qu'il y a apparemment des problèmes avec les gifs animés)
    qui contient toutes la page.
    un autre div qui affiche une belle barre de progression demandant à l'utilisateur d'attendre
    puis tu switch entre ces deux div une fois le tout chargé...

    Sur ce bon dev

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 11
    Points : 10
    Points
    10
    Par défaut solution
    heeeeello!!!

    j'ai trouvé la solution à mon pb si ca intéresse quelqu'un... a force de faire des essaye on fini par comprendre comment fonction les différents browser (pour ma par firefox et IE) en matière de preloadage d'images en mémoire... même si des fois y a pas vraiment de logique...

    j 'ai une page d'accueil ou est juste affiché un logo... celle ci comporte uniquement un lien pour rentrer dans le site... je voulais que le préloadage de toutes les images ce fasse sur cette page afin qu'il n'y ait pas d'affichage progressive des images lors de la rentrée sur le site...

    disons que mes images ce nomme "toto.gif" et "tata.gif"...

    voici, la page d'accueil : accueil.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
      <title>ma page</title>
    	<meta http-equiv="content-type" content="text/xhtml; charset=ISO-8859-1" />
    	<script language="javascript" type="text/javascript">
    		var tata= new Image;
    		tata.src=chemin + 'tata.jpg';
    		var toto= new Image;
    		toto.src=chemin + 'totogif';
    	</script>
    	<style type="text/css">
    		.preload{
    			display:none;
    			}
    	</style>
    </head>
    <body>
    	<div class="preload">
    		<img src="toto.gif" alt="" />
    		<img src="tata.jpg" alt="" />
    	</div>
    	<div><a href="index.html"><img src="logo.gif" alt=""/></a>
    	</div>
    </body>
    </html>
    2 remarques :
    1- oui, il y a quelque chose de redondant dans ce code... deux facon de précharger les images : css et javascript...
    la métode css c'est pour IE alors que la méthode javascript c'est pour firefox...
    2- pour IE, il faut que votre class css soit déclarer au sein meme de la page HTML... si déclarer la class dans une feuille de style CSS, ca morche po!!!! pourquoi? alors ca, je ne sais pas... les mystères IE...

    sur ce... si vous avez des commentaires hésiter po...
    ciao,
    -smellycat37-
    http://www.lampouleverte.org/charley/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/07/2013, 16h19
  2. Sous menu déroulant css caché par balise img IE
    Par amanteau dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/09/2010, 09h31
  3. Répertoire caché
    Par KUBITUS dans le forum Delphi
    Réponses: 30
    Dernier message: 13/04/2007, 07h19
  4. Ouvrir (fopen) un fichier caché
    Par shef dans le forum C
    Réponses: 2
    Dernier message: 09/09/2002, 09h06
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo