web-dev-qa-db-fra.com

Pages qui ne finissent jamais de se charger: comment diagnostiquer

Les utilisateurs se plaignent parfois, et nous voyons probablement tous occasionnellement, une page Web qui ne se termine jamais. Dans Google Chrome, le cercle de rotation tournera indéfiniment, chaque navigateur a sa propre version.

Une cause fréquente est un serveur Web qui signale une longueur incorrecte pour un document. Le navigateur attendra pour toujours les octets qui ne viennent jamais.

Mais ce n'est pas la seule cause. Comment peut-on diagnostiquer une situation particulière "ne termine jamais le chargement"?

Edit: Les pages qui font cela tout le temps sont assez faciles à trouver. En particulier, je recherche des astuces pour diagnostiquer les problèmes intermittents, en particulier ceux où la page ne se charge jamais (pas seulement au ralenti, ces pages ne signalent jamais le chargement terminé). La plupart des pages de nos jours contiennent un mélange de sources et probablement un CDN ou deux, de sorte que la complexité peut être rapide.

5
Bryce

Procédez comme suit pour obtenir la raison exacte pour laquelle le chargement de votre page ne se termine jamais:

  1. Appelez-vous des scripts tiers sur votre page? Si oui, alors vérifiez s'ils répondent correctement.
  2. Vérifiez votre site Web/serveur pour les virus et les hacks.
  3. Analysez votre page ici ou ici .
  4. Assurez-vous que l’espace disque de votre serveur n’est pas saturé; il doit y avoir un peu d'espace disponible.

Les analyseurs de site ci-dessus devraient vous aider à savoir pourquoi votre page se charge très lentement.

4
Helping Hands

consultez le site Web ou la page Web avec Pingdom vous obtiendrez une liste détaillée du chargement des fichiers et du temps nécessaire à chacun d’eux.

  1. Vous pouvez également utiliser Yslow un addon pour tous les principaux navigateurs.

  2. une autre option est Google Pagespeed . Vous pouvez analyser votre site Web ou votre page Web ici . Voici également un complément Google Chrome disponible.

Mon choix personnel a toujours été pingdom pour son rapport détaillé.

2
Shreyo Gi

Si la "roue ne cesse de tourner", cela signifie que le navigateur pense qu'il est toujours en train de charger quelque chose (de quelque part). Si vous ouvrez les outils de développement de votre navigateur -> onglet réseau (et rechargez la page), il devrait éventuellement afficher "Chargé" en bas, en rouge, par exemple:

enter image description here

Si c'est le cas, alors il se peut qu'il attende sur certaines ressources XHR, pas sûr. Si ce n'est pas le cas, c'est soit en attente bloquée, en chargeant une ressource initiale (ex: fichier javascript qui est référencé, ou image), soit en exécutant un "javascript de démarrage" qui s'exécute pour toujours et qui ne se termine jamais, ou qui cause éventuellement "out de mémoire "pour la page (ex: boucle récursive générant une chaîne trop longue ou non).

Pour les ressources en attente, vous pourrez peut-être en voir une dans la liste "réseau" qui tente de se charger mais ne se termine pas.

Pour le javascript, j’ai trouvé que je pouvais l’exécuter dans firefox. Après un certain temps, Firefox dira "Une page Web ralentit votre navigateur. Que voudriez-vous faire? [Arrêtez-le] [Patientez]".

left side firefox

Si vous cliquez sur "[Arrêtez]", alors, interrompra essentiellement le javascript "en cours d'exécution" (probablement/probablement le comportement incriminé), et dans la console du développeur javascript, il affichera la trace qui pourrait vous donner des indices sur ce qui se passe. de travers. Un comportement similaire est apparemment possible dans chrome (s'il manque au moins de mémoire, ouvrez les outils de développement, il abandonnera et vous laissera voir une trace lorsqu'il s'épuise, une interruption pourrait également être possible) mais il était plus difficile de lire la trace dans les outils de développement de chrome pour moi (ne montrait pas aussi facilement les URL d'origine complètes de chaque ligne de trace) FWIW.

Les autres liens dans les autres réponses étaient également utiles (l’un d’eux a dit, dans mon cas "mémoire du navigateur insuffisante" ou "impossible de se connecter au serveur" avec toutes les indications de mon problème). Un autre lien éventuellement utile est this .

Dans mon cas, il semble y avoir eu un conflit entre prototype.js #inspect et le bouton plusone de google (gapi), ce qui a provoqué une sorte de boucle infinie [?] Qui l’a finalement épuisée. Le prototype de mise à jour semblait le "réparer".

1
rogerdpack