2010-04-21 6 views
1

J'ai construit un menu principal basé sur superfish, mais la quantité d'éléments affichés dans le menu est énorme. Et il y a aussi beaucoup de jquery sur le menu du haut. Maintenant au problème, chaque fois que je charge une page qui a le menu, le navigateur (IE7) se sent comme il semble qu'il se verrouille pendant environ 1-2 secondes pendant le chargement de la page. Je suis sûr que le menu du haut est le problème, et je voudrais améliorer les performances de la page. (En plus de supprimer le menu et supprimer les éléments du menu) J'ai utilisé firebug pour voir quels appels prennent la plupart du temps , et je les appels sont standard jquery ou superfish. Le menu principal est un contrôle ascx. Sont-ils de bons moyens de laisser la page en premier et le menu plus tard ou d'autres idées de produits pour améliorer la performance?Problème de performance Javascript

+0

L'initialisation de la page ne doit pas prendre deux à deux secondes. Il doit y avoir des inefficacités dans votre code. @Robert L'idée de Harvey est bonne. –

+0

Probablement il y a trop de code js qui s'exécute sur beaucoup et beaucoup d'éléments dom. J'ai essayé de "mettre en cache" les éléments de dom tout en faisant certain jquery. Mais il n'a pas été suffisant pour améliorer la performance maintenant – Daniel

Répondre

1

Avez-vous essayé de déplacer tout votre code de script (Javascript, jQuery) au bas de la page, juste avant le tag </html>?

+0

J'ai déplacé tous les js qui se rapportaient au menu supérieur avant le et il n'a pas l'air d'aider du tout, doit-il être entre le corps de fin et la fin de la tag html? – Daniel

+0

Avant que la balise '' soit bien, mais vous devez déplacer * tout *, pas seulement les choses liées au menu. L'idée est de rendre la page web (au moins partiellement) avant le Javascript/jQuery. –

0

Avez-vous déjà envisagé de charger le menu une seule fois? Nous avons eu le même genre de problème il n'y a pas longtemps où le menu était rechargé chaque fois que la page était rafraîchie. Nous avons minimisé les actualisations de page et forçons la plupart de nos pages à soumettre/récupérer des données via $.ajax.

Nous actualisons seulement la page quand il est absolument nécessaire.

+0

Comme c'est maintenant il faudrait beaucoup de temps pour développer le menu principal pour charger une seule fois:/Mais bonne idée à la prochaine fois si – Daniel