Maison interface Web js tutoriel À propos des conseils de chargement différé de JavaScript_javascript

À propos des conseils de chargement différé de JavaScript_javascript

May 16, 2016 pm 04:01 PM
javascript 延迟加载

Le chargement paresseux de JavaScript fait partie de ces problèmes sur le Web qui peuvent vous rendre fou en essayant de trouver une solution.

Beaucoup de gens disent "puis utilisez defer" ou "async", et certains disent même "puis mettez votre code javascript en bas du code de la page".

Aucune des méthodes ci-dessus ne peut résoudre le problème du chargement de js externes une fois la page Web entièrement chargée. La méthode ci-dessus vous amènera également occasionnellement à recevoir des avertissements de « chargement retardé du javascript » de la part de l'outil de test de vitesse des pages de Google. La solution ici sera donc la solution recommandée sur la page d'aide de Google.

Comment charger paresseux JavaScript

Ce qui suit est le code recommandé par Google. Ce code doit être placé avant la balise (près du bas du fichier HTML). De plus, j'ai mis en évidence le nom du fichier JS externe.

<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>
Copier après la connexion

Que fait-on ici ?
Ce code signifie attendre que l'intégralité du document soit chargée avant de charger le fichier externe "defer.js".

Consignes spécifiques

1. Copiez le code ci-dessus

2. Collez le code avant la balise du HTML (près du bas du fichier HTML)

3. Modifiez "defer.js" en le nom de votre fichier JS externe

4. Assurez-vous que le chemin de votre fichier est correct. Par exemple : Si vous saisissez uniquement « defer.js », alors le fichier « defer.js » doit être dans le même dossier que le fichier HTML.

Où ce code peut-il être utilisé (et où ne peut-il pas être utilisé)

Ce code ne chargera pas le fichier JS externe spécifié tant que le document n'est pas chargé. Par conséquent, le code JavaScript qui dépend du chargement normal de la page ne doit pas être placé ici. Au lieu de cela, le code JavaScript doit être séparé en deux groupes. Un groupe est le code javascript qui est chargé immédiatement parce que la page en a besoin, et l'autre groupe est le code javascript qui fonctionne après le chargement de la page (comme l'ajout d'un événement de clic ou d'autres choses). Le code JavaScript qui doit attendre le chargement de la page avant de s'exécuter doit être placé dans un fichier externe puis importé.

Par exemple, sur cette page, j'utilise les fichiers ci-dessus pour un chargement paresseux : Google Analytics, Viglink (comment je gagne de l'argent) et le badge Google qui apparaît en bas (mes réseaux sociaux). Pour moi, il n'y a aucune raison de charger ces fichiers lors du chargement initial de la page, car il n'est pas nécessaire de charger le contenu non pertinent ci-dessus au stade initial. Peut-être avez-vous un fichier de même nature sur votre page. Voulez-vous alors que les utilisateurs attendent que ces fichiers se chargent avant de voir le contenu de la page Web ?

Pourquoi ne pas utiliser d’autres méthodes ?

Insérer du code directement, placer des scripts en bas et utiliser « defer » ou « async » ne peut pas atteindre l'objectif de charger d'abord la page, puis de charger le JS, et ils ne fonctionneront certainement pas de manière cohérente sur tous les navigateurs.

Pourquoi est-ce important ?

Son importance est due au fait que Google utilise la vitesse des pages comme l'un des facteurs de classement et que les utilisateurs souhaitent également que les pages se chargent rapidement. C’est également très important pour l’optimisation des moteurs de recherche mobiles. Google mesure la vitesse de la page en fonction du temps nécessaire à son chargement initial. Cela signifie que vous devez obtenir l'événement de chargement de la page le plus rapidement possible. Le temps de chargement initial de la page est la façon dont Google évalue la qualité de vos pages Web (et n'oubliez pas que les utilisateurs attendent que la page se charge). Google promeut et recommande activement d'organiser le contenu non pertinent ci-dessus par ordre d'importance et de garder toutes les ressources (js, CSS, images, etc.) hors du chemin de rendu critique, et cela en vaut la peine. Si cela plaît aux utilisateurs et rend Google heureux, vous devriez le faire.

Exemple d'utilisation

J'ai créé une page où vous pouvez voir ce code utilisé.

Exemples de fichiers à tester

D'accord, pour illustrer, j'ai réalisé quelques exemples de pages à tester. Chaque page fait la même chose. Il s'agit d'une page HTML ordinaire, contenant un script javascript qui attend 2 secondes puis affiche "hello world". Vous pouvez tester ces fichiers et vous verrez qu'il n'y a qu'une seule méthode et que son temps de chargement exclut le temps d'attente de 2 secondes.

Page pour insérer directement le script – Cliquez ici

Pages avec des scripts externes utilisant "defer" – Cliquez ici
Pages utilisant le code de parrainage ci-dessus – Cliquez ici

Points clés

La priorité absolue devrait être de fournir du contenu aux utilisateurs le plus rapidement possible. Et nous n'avons jamais réfléchi à la manière de traiter notre code javascript. Mais les utilisateurs ne devraient pas être obligés d’attendre le contenu d’un script insignifiant. Peu importe à quel point votre pied de page est cool, il n'y a aucune raison pour qu'un utilisateur qui ne fait jamais défiler jusqu'au pied de page charge les fichiers JavaScript qui le rendent cool.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Quelle est l'architecture et le principe de fonctionnement de Spring Data JPA ? Quelle est l'architecture et le principe de fonctionnement de Spring Data JPA ? Apr 17, 2024 pm 02:48 PM

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.

Conseils d'optimisation des performances Java JPA : faites voler votre application Conseils d'optimisation des performances Java JPA : faites voler votre application Feb 19, 2024 pm 09:03 PM

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

Quelle est la signification originale des liens dynamiques et des liens statiques sous Linux ? Quelle est la signification originale des liens dynamiques et des liens statiques sous Linux ? Feb 05, 2024 pm 05:45 PM

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.

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Comment Hibernate optimise-t-il les performances des requêtes de base de données ? Comment Hibernate optimise-t-il les performances des requêtes de base de données ? Apr 17, 2024 pm 03:00 PM

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.

Décoder les goulots d'étranglement des performances de Laravel : les techniques d'optimisation entièrement révélées ! Décoder les goulots d'étranglement des performances de Laravel : les techniques d'optimisation entièrement révélées ! Mar 06, 2024 pm 02:33 PM

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

Comment empêcher l'événement de chargement d'iframe Comment empêcher l'événement de chargement d'iframe Feb 19, 2024 am 08:02 AM

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

Que faire si l'image HTML est trop grande Que faire si l'image HTML est trop grande Apr 05, 2024 pm 12:24 PM

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.

See all articles