2008-11-19 7 views
1

J'ai une application web qui est lourdement chargée en javascript et css. La première fois que les utilisateurs se connectent, il faut un certain temps pour charger une fois qu'ils téléchargent js etc. Ensuite, la mise en cache rendra tout plus rapide.Chargement du site

Je veux que mes utilisateurs soient conscients de ce temps de chargement. Comment puis-je ajouter du code pour "afficher" certaines informations de chargement pendant que js et css sont téléchargés?

Répondre

3

Vous pouvez afficher une superposition en disant "chargement ..." et masquer le moment où les téléchargements sont terminés.

<html> 
    <head> 
     ... a bunch of CSS and JS files ... 

     <script type="text/javascript" src="clear-load.js"></script> 
    </head> 
    <body> 
     <div 
      style="position: absolute; left: 50px; right: 50px; top: 50px; bottom: 50px; border: 3px solid black;" 
      id="loading-div" 
     > 
      This page is loading! Be patient! 
     </div> 

     ... Your body content ... 
    </body> 
</html> 

Contenu du clair-load.js:

document.getElementById('loading-div').style.display = 'none'; 

Bien sûr, vous pouvez aussi virer de bord le code javascript qui cache la div au bas du dernier fichier javascript qui est chargé. Essayez également d'empaqueter vos fichiers javascript et css dans un fichier et d'appliquer la compression gzip ou de les "réduire". Vous pouvez apporter 500 Ko de javascript dans 20 demandes à 1 requête de moins de 100 Ko si vous le faites correctement.

0

Douce mère de miséricorde, Ricardo, à quel point Javascript et CSS sont impliqués dans cette application?

Vous pourriez, je suppose, faire quelque chose où vous chargez le JS et le CSS en utilisant une requête AJAX et ne faites rien avec eux. Cela chargera vos fichiers JS et CSS dans le cache. Vous pouvez faire tout cela sur une page "Chargement", et rediriger vers la page réelle une fois que vous avez chargé les fichiers. Mais OMI, vous ne devriez vraiment pas avoir à faire cela. Utilisez Fiddler pour vraiment voir ce qui se passe dans les coulisses - assurez-vous que les gens doivent vraiment attendre que leurs fichiers JS/CSS soient descendus avant d'effectuer cette optimisation.

0

Il me semble étrange que le temps de chargement dépend de la taille de javascript et css. Êtes-vous sûr qu'il n'y a pas d'autres facteurs qui provoquent une longue période de chargement?

0

S'il vous plaît faites-vous plaisir et essayez YSlow, disponible au http://developer.yahoo.com/yslow. C'est un plugin Firebug (oui, un plugin pour un plugin) qui va analyser votre site et vous recommander des stratégies pour le réparer.

Questions connexes