447 votes

Pourquoi les sites web n'affichent-ils pas immédiatement leur texte de nos jours ?

J'ai remarqué que, ces derniers temps, de nombreux sites Web sont lents à afficher leur texte. En général, l'arrière-plan, les images, etc. sont chargés, mais pas le texte. Après un certain temps, le texte commence à apparaître ici et là (pas toujours tout en même temps).

En fait, il fonctionne à l'inverse de ce qu'il faisait auparavant, lorsque le texte s'affichait en premier, puis les images et le reste se chargeait ensuite. Quelle nouvelle technologie est à l'origine de ce problème ? Avez-vous une idée ?

Notez que je suis sur une connexion lente, ce qui accentue probablement le problème.

Voici un exemple : tout est chargé, mais il faut encore quelques secondes pour que le texte s'affiche enfin :

enter image description here

73 votes

Dans ce cas particulier, PortableApps.com utilise la police "Ubuntu". John a d'abord essayé OpenSans, mais nous sommes passés à Ubuntu assez rapidement. J'étais le principal partisan de ce changement... une façon d'éliminer le problème est d'installer soi-même la famille de polices. Si vous l'installez à partir de font.ubuntu.com cela fonctionnera immédiatement.

21 votes

La réponse de Daniel m'a ouvert les yeux. Je pensais que c'était fait exprès pour que nous puissions voir toutes les publicités sur la page.

1 votes

Comme plusieurs personnes l'ont souligné ici, il existe une infinité de raisons pour que le texte soit rendu de manière inattendue, car le rendu d'une page n'est limité que par l'imagination du développeur/concepteur, ce qui est le cas au moins depuis que les codes de position ANSI ont permis aux tableaux d'affichage des années 1980 de mettre en œuvre des chats multi-utilisateurs et des interfaces utilisateur avec des fenêtres superposées avec ombres portées. Meebo a été l'un des premiers à reproduire certains de ces effets dans un navigateur sans applet. "Fonctionne à l'inverse de ce qu'il faisait auparavant" simplifie énormément l'Internet et ne fait même pas référence à une période spécifique.

4voto

Benny Points 89

Réponse courte : Les développeurs.

Lorsque des liens et des balises script faisant référence à des documents externes (comme des fichiers .css ou .js) sont placés dans l'en-tête du document (plus haut dans le flux que le corps et ses éléments), ils sont chargés en premier. JavaScript s'exécute à partir des balises qui le référencent ; s'il y a beaucoup de code à traiter, ou s'il s'agit d'un code lourd, ou plus communément si le texte que vous vous attendez à voir est rendu sur un serveur et inséré dans le document lors du chargement - et que le code côté serveur est également lourd, volumineux, ou qu'il bloque les E/S en raison du traitement de plusieurs requêtes simultanées, vous pouvez certainement constater un temps d'arrêt avant même que le HTML ait eu la chance d'être rendu. Certains développeurs choisissent de charger le JavaScript non lié à la vue après le balisage et les styles (à la fin du corps du texte), et les meilleurs essaient d'être plus conscients de la façon dont leur décision technologique affectera l'expérience globale de l'utilisateur une fois mise en œuvre.

La vitesse de la connexion Internet joue un rôle dans la lenteur du téléchargement des données, c'est évident, mais un code mal écrit ou des piles technologiques mal conçues (pour le type de site Web) jouent un rôle de plus en plus important dans la lenteur du chargement du contenu dynamique, à mesure que les connexions réseau plus rapides deviennent omniprésentes.

21 votes

Non, ce que vous décrivez peut bloquer l'affichage d'éléments du DOM, mais pas seulement du texte. La réponse concerne le remplacement des polices et est la suivante la faute des concepteurs et non les développeurs.

0 votes

+1 @Toby car c'est vraiment la faute des concepteurs. C'est aussi extrêmement irritant si vous êtes sur un lien lent (comme, oh je ne sais pas, mon téléphone portable ou le téléphone fixe à la maison). Ce genre de choses ne fait que rendre les sites Web plus lents et irriter les utilisateurs sans aucun avantage.

1 votes

Réponse longue : Des développeurs, des développeurs, des développeurs, des développeurs.

3voto

Michael Dillon Points 917

En bref, un trop grand nombre d'objets chargeables qui doivent être chargés à partir de GET HTTP distincts avant que la page puisse être affichée, et une confiance excessive dans la latence moyenne comme mesure de la santé du site.

Le premier fait référence à tous les .css, .js et polices de caractères que la page charge, sans oublier le fait que de nombreux sites doivent également récupérer des objets JSON par le biais de requêtes XHR, puis générer du HTML à partir de ces objets à l'aide d'un modèle quelconque.

Mais pourquoi ne remarquent-ils pas que le site est lent ?

Probablement parce qu'ils ont un memecache quelque part pour accélérer les choses (ou qu'ils comptent simplement sur les caches du système de fichiers) et qu'ils mesurent la santé de leur site en utilisant la latence moyenne. Ainsi, les objets mis en cache sont renvoyés avec une latence de 6 mircrosecondes et masquent le fait que de nombreuses requêtes GET mettent 5000 millisecondes à aboutir. Les moyennes doivent mourir. Vive le comptage des RTT au-delà d'un seuil maximal acceptable ! Ce nombre devrait être 0 ou, par définition, le RTT est inacceptable.

-1voto

user613326 Points 167

Eh bien, il y a plusieurs raisons. Une raison est aussi que les commandes pour définir un arrière-plan ou en haut d'une page html souvent soit récupérées dans un CSS séparé qui est chargé en premier. avant le chargement du corps du document qui contient le texte.

Une autre raison est que, bien qu'il soit possible de taper la taille d'une image, dans la plupart des cas, les concepteurs de sites Web ne l'utilisent pas. Ainsi, le brouilleur doit d'abord charger les images entières sur les pages afin de savoir comment envelopper le texte.

Certains concepteurs veulent également afficher d'abord les images et ensuite le texte, ils y parviennent par le biais de javascript. Par exemple, une page simple affichera d'abord une bannière, puis tout le reste.

Mais si vous vous demandez pourquoi il y a tant de spam commercial sur mes pages alors que je ne veux lire que des nouvelles, il existe une solution pour vous. Vous pouvez utiliser des bloqueurs de spam si vous utilisez Firefox. Avec un tel addon, le navigateur web connaît les sites qui fournissent du spam, et les bloque tout simplement, ce qui permet un chargement beaucoup plus rapide de la page, tout en vous permettant de voir les images importantes qui se rapportent aux articles que vous lisez.

Je recommande à tous ceux qui sont confrontés à la lenteur du chargement des pages d'essayer fidler. fidler peut être utilisé avec IEexplorer ou avec FireFox (en utilisant sa fonction proxy). Fidler vous montrera réellement combien de temps il faut et quand les parties d'une page web sont chargées. Il s'agit d'un outil de débogage HTML.

0 votes

Alors tu essaies d'aider les gens et tu te fais descendre, c'est pas marrant ? Ok, je vais y réfléchir à deux fois avant d'expliquer aux gens des trucs techniques en termes simples ici.

21 votes

Tu as expliqué la mauvaise chose, c'est pour ça que tu as été rétrogradé. Comme vous pouvez le voir sur la capture d'écran, la page est entièrement chargée, seul le texte n'est pas affiché. Cela n'a rien à voir avec les images.

8 votes

Le corps du document est presque toujours chargé avant les CSS externes. Le navigateur n'arrête pas d'analyser la page pour charger du contenu externe. Essayer d'aider n'est utile que si vous êtes réellement utile. La désinformation est pire que l'absence d'information.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X