Chargement paresseux de JavaScript
Comment charger paresseux JavaScript
Le véritable chargement paresseux de JavaScript signifie : charger ou analyser JavaScript uniquement après que le contenu de la page a été complètement chargé (cela signifie que JavaScript ne peut pas affecter la vitesse ou la criticité de la page) rendu chemin).
Utilisez l'événement "onload" pour appeler des ressources JavaScript externes
-
Les ressources JavaScript externes ne peuvent pas être chargées avant le chargement du contenu de la page
Les ressources JavaScript externes commencent à s'exécuter et affectent la page après le chargement du contenu
Explication
L'accent mis sur Internet est souvent les gens en essayant de trouver un fou sur diverses solutions, le chargement paresseux de JavaScript est l'un des objectifs.
Beaucoup de gens disent "utilisez simplement defer", "utilisez simplement async" ou "mettez simplement votre JavaScript au bas de la page", mais ces problèmes ne sont pas résolus. Problème - Laissez la page se charger complètement, puis ( seulement après le chargement complet) chargez le JS externe. Ces méthodes ne vous permettront pas non plus de transmettre l'avertissement "chargement retardé de JavaScript" obtenu à partir de Google Page Speed Tool (le traducteur a des doutes à ce sujet, car lors des tests, j'ai constaté que les trois méthodes ci-dessus peuvent supprimer cet avertissement).
Cette solution répondra.
Un script qui appelle un fichier JavaScript externe
Ce code est placé avant la balise </body>
du document HTML (près du bas du document HTML). Le nom du script externe est defer.js
.
<script type="text/javascript">function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "defer.js"; document.body.appendChild( element );}if ( window.addEventListener ) { window.addEventListener( "load", downloadJSAtOnload, false );} else if ( window.attachEvent ) { window.attachEvent( "onload", downloadJSAtOnload );} else { window.onload = downloadJSAtOnload;} </script>
Que fait ce script ?
Ce code dit d'attendre que le document soit complètement chargé, puis de charger le fichier externe "defer.js".
Instructions détaillées
1. Copiez le code ci-dessus
2. Collez le code dans votre document HTML, avant le
</body>
balise3. Remplacez
defer.js
par le nom de votre fichier externe4. est correct. Par exemple : Si vous utilisez "defer.js", alors le fichier "defer.js" doit être dans le même dossier que votre fichier HTML
À quoi pouvez-vous l'utiliser (ou Ce qui ne peut pas être fait)
Ce code ne chargera pas les fichiers de liens externes tant que votre page n'est pas complètement chargée. Vous devez diviser votre JavaScript en deux groupes, un que la page doit charger et un autre qui fait ce qu'il doit faire après le chargement de la page (comme la recherche d'événements de clic ou d'autres choses). Tout JavaScript pouvant attendre et attendre le chargement de la page doit être appelé à partir d'un fichier externe.
Par exemple, dans cette page, j'ai utilisé le script ci-dessus pour charger paresseux les statistiques de Google, Viglink et l'avatar Google plus en bas. Je n'ai aucune raison de charger ces fichiers au début de la page, car ces fichiers ne sont pas liés au contenu que j'ai mentionné ci-dessus et ne doivent pas être chargés. Peut-être auriez-vous le même type de chose sur votre page, feriez-vous attendre que ces ressources se chargent avant de leur montrer votre contenu utilisateur ?
Pourquoi pas d'autres moyens ?
Inlining, mettre le script en bas, utiliser defer
ou async
sont autant de méthodes qui n'atteignent pas l'objectif de charger d'abord la page puis de charger le JS, et ces méthodes ne sont en effet pas universelles et navigateur interfonctionnel.
Pourquoi est-ce important ?
En effet, Google utilise la vitesse de chargement des pages comme facteur de classement et parce que les utilisateurs souhaitent que les pages se chargent plus rapidement. C’est également idéal pour votre SEO mobile. Google mesure votre vitesse de chargement de la page à partir du moment où elle est appelée jusqu'à ce que le chargement initial de la page soit terminé. Cela signifie également que vous devez faire en sorte que l'événement load
de la page se termine le plus rapidement possible. Google évalue votre page en fonction du temps de chargement de sa page d'accueil (et n'oubliez pas que les utilisateurs attendent que la page se charge).
Promotion et recommandation actives de Googlepriorité au contenu au-dessus de la ligne de flottaison (le contenu de l'écran est prioritaire). Donc, garder toutes les ressources hors écran (js, css, images, etc.) hors du chemin de rendu principal en vaut la peine. Si cela rend vos utilisateurs heureux et Google heureux, pourquoi ne pas le faire.
Exemple d'utilisation
J'ai créé une page, cliquez ici, vous verrez que j'ai utilisé l'extrait de code ci-dessus ici.
Fichier d'exemple de test
Eh bien, juste pour illustrer, j'ai écrit quelques pages de test que vous pouvez tester. Chaque page fait la même chose. Une page HTML pure utilise un script. Le contenu du script consiste à attendre deux secondes pour afficher "hello world". Vous pouvez tester ces pages et constater qu'il n'existe qu'une seule façon d'afficher le contenu immédiatement (le temps de chargement de la page n'inclut pas les deux secondes d'attente).
Script en ligne - Cliquez pour voir
Utilisez "différer" pour charger des scripts externes - Cliquez pour afficher
Utilisez le code recommandé ci-dessus - Cliquez pour view
Point clé
Le point le plus critique est de présenter le contenu à l'utilisateur le plus rapidement possible. Nous n'avons pas fait cela avec la façon dont nous avons traité notre javascript. Les utilisateurs doivent voir leur contenu car certains scripts font des choses sous le contenu visuel. Peu importe à quel point le bas de votre page est cool, si l'utilisateur ne fait jamais défiler vers le bas de la page, vous n'avez aucune raison de charger le script pour rendre le bas de la page cool.
Outil
Utilisez l'outil d'utilisation de Javascript pour tester la manière dont JavaScript est utilisé sur vos pages.
Extensions supplémentaires
1. Différé et asynchrone
Les deux attributs peuvent être utilisés à des fins d'optimisation de page, mais quelle est la différence ? Une image peut répondre :
2. Sous le pli
Selon la définition dans wordstream :
Below the fold
signifie qu'il n'y a que du défilement. dans la zone visible de la page Web.
Above the Fold
fait référence à la zone de contenu visible sans faire défiler la page.
De manière générale, le contenu affiché à l'écran sans défilement recevra plus d'attention, et le contenu qui nécessite un défilement pour être visible recevra moins d'attention. fold
Les opinions proviennent du secteur de l’édition d’actualités.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SpringDataJPA est basé sur l'architecture JPA et interagit avec la base de données via le mappage, l'ORM et la gestion des transactions. Son référentiel fournit des opérations CRUD et les requêtes dérivées simplifient l'accès à la base de données. De plus, il utilise le chargement paresseux pour récupérer les données uniquement lorsque cela est nécessaire, améliorant ainsi les performances.

Comme d'habitude, posons quelques questions : Pourquoi les liens dynamiques ? Comment faire des liens dynamiques ? Qu’est-ce que la technologie de code indépendante de l’adresse ? Qu’est-ce que la technologie de liaison retardée ? Comment créer des liens explicites pendant l'exécution du programme ? Pourquoi des liens dynamiques ? L'émergence des liens dynamiques vise à résoudre certains défauts des liens statiques : économie de mémoire et d'espace disque : comme le montre la figure ci-dessous, Program1 et Program2 contiennent deux modules, Program1.o et Program2.o respectivement, et ils nécessitent tous deux la bibliothèque Lib. o module. Dans le cas d'une liaison statique, les deux fichiers cibles utilisent le module Lib.o, ils ont donc des copies dans les fichiers exécutables Program1 et program2 générés par le lien et exécutés en même temps.

Voici quelques façons d'optimiser les images HTML trop volumineuses : Optimiser la taille du fichier image : Utilisez un outil de compression ou un logiciel de retouche d'image. Utilisez des requêtes multimédias : redimensionnez dynamiquement les images en fonction de l'appareil. Implémentez le chargement différé : chargez l'image uniquement lorsqu'elle entre dans la zone visible. Utilisez un CDN : distribuez des images sur plusieurs serveurs. Utiliser un espace réservé pour l’image : affichez une image d’espace réservé pendant le chargement de l’image. Utiliser des vignettes : affiche une version plus petite de l'image et charge l'image en taille réelle en un clic.

Mots-clés de l'article : Optimisation des performances JavaJPA Gestion des entités ORM JavaJPA (JavaPersistance API) est un framework de mappage objet-relationnel (ORM) qui vous permet d'utiliser des objets Java pour exploiter les données dans la base de données. JPA fournit une API unifiée pour interagir avec les bases de données, vous permettant d'utiliser le même code pour accéder à différentes bases de données. De plus, JPA prend également en charge des fonctionnalités telles que le chargement paresseux, la mise en cache et la détection des données sales, qui peuvent améliorer les performances des applications. Cependant, si elles sont mal utilisées, les performances JPA peuvent devenir un goulot d'étranglement pour votre application. Voici quelques problèmes de performances courants : Problème de requête N+1 : lorsque vous utilisez des requêtes JPQL dans votre application, vous pouvez rencontrer des problèmes de requête N+1. Dans ce genre de

Décoder les goulots d'étranglement des performances de Laravel : les techniques d'optimisation entièrement révélées ! Laravel, en tant que framework PHP populaire, offre aux développeurs des fonctions riches et une expérience de développement pratique. Cependant, à mesure que la taille du projet augmente et que le nombre de visites augmente, nous pouvons être confrontés au défi des goulots d'étranglement en matière de performances. Cet article approfondira les techniques d'optimisation des performances de Laravel pour aider les développeurs à découvrir et à résoudre les problèmes de performances potentiels. 1. Optimisation des requêtes de base de données à l'aide du chargement différé d'Eloquent Lorsque vous utilisez Eloquent pour interroger la base de données, évitez

Les conseils pour optimiser les performances des requêtes Hibernate incluent : l'utilisation du chargement différé pour différer le chargement des collections et des objets associés ; l'utilisation du traitement par lots pour combiner les opérations de mise à jour, de suppression ou d'insertion ; l'utilisation du cache de deuxième niveau pour stocker les objets fréquemment interrogés en mémoire à l'aide de connexions externes HQL ; , récupérer les entités et leurs entités associées ; optimiser les paramètres de requête pour éviter le mode de requête SELECTN+1 ; utiliser des curseurs pour récupérer des données massives en blocs ; utiliser des index pour améliorer les performances de requêtes spécifiques.

Comment empêcher les événements de chargement d'iframe Dans le développement Web, nous utilisons souvent des balises iframe pour intégrer d'autres pages ou contenus Web. Par défaut, lorsque le navigateur charge une iframe, l'événement de chargement est déclenché. Cependant, dans certains cas, nous pouvons souhaiter retarder le chargement d'une iframe, ou empêcher complètement l'événement de chargement. Dans cet article, nous explorerons comment y parvenir à travers des exemples de code. 1. Retarder le chargement de l'iframe Si vous souhaitez retarder le chargement de l'iframe, nous pouvons utiliser

Le framework HibernateORM présente les inconvénients suivants : 1. Consommation de mémoire importante car il met en cache les résultats des requêtes et les objets d'entité. 2. Une complexité élevée, nécessitant une compréhension approfondie de l'architecture et de la configuration. 3. Des délais de chargement retardés, entraînant des retards inattendus ; . Des goulots d'étranglement en matière de performances peuvent survenir lorsqu'un grand nombre d'entités sont chargées ou mises à jour en même temps. 5. Implémentation spécifique au fournisseur, entraînant des différences entre les bases de données.
