Maison > interface Web > js tutoriel > Optimisation des bibliothèques externes avec l'attribut defer : augmentation de la vitesse des pages

Optimisation des bibliothèques externes avec l'attribut defer : augmentation de la vitesse des pages

Patricia Arquette
Libérer: 2024-11-24 08:36:09
original
719 Les gens l'ont consulté

Optimizing External Libraries with the defer Attribute: Boosting Page Speed

Lors de la création d'un site Web, les développeurs s'appuient souvent sur des bibliothèques externes pour améliorer les fonctionnalités. Bien que ces bibliothèques soient essentielles, elles peuvent avoir un impact sur les performances, car chaque script externe nécessite une requête HTTP supplémentaire, et son analyse, son évaluation et son exécution peuvent bloquer le rendu du contenu principal de la page. Pour empêcher ces scripts de bloquer le processus de rendu, les développeurs peuvent utiliser les attributs async ou defer lors de la liaison de scripts externes.

Le rôle du report
L'attribut defer garantit qu'un script n'est pas exécuté tant que l'analyse HTML n'est pas terminée. Cela permet d'accélérer le rendu initial de la page. Cependant, lorsque vous utilisez des bibliothèques externes différées, vous pouvez rencontrer des cas où certaines fonctionnalités (par exemple, l'initialisation de curseurs, de carrousels ou d'animations) ne s'exécutent pas comme prévu. Cela se produit parce que le code à l'intérieur du script différé n'est exécuté qu'une fois le code HTML entièrement analysé, mais parfois les bibliothèques externes nécessaires peuvent ne pas être disponibles à temps.

Comprendre DOMContentLoaded et charger les événements
Pour garantir que votre code personnalisé s'appuyant sur des bibliothèques externes s'exécute correctement, vous devez gérer soigneusement le moment où votre code s'exécute. Deux événements JavaScript sont particulièrement utiles lorsqu'il s'agit de scripts différés

DOMContentLoaded : Cet événement se déclenche lorsque le document HTML initial a été complètement chargé et analysé, sans attendre le chargement des feuilles de style, des images ou d'autres ressources externes. C'est utile lorsque votre code dépend uniquement de la préparation de la structure DOM.

document.addEventListener('DOMContentLoaded', function() { 
// Initialize your script once the DOM is fully parsed 

console.log("DOM is ready, but external resources might still be loading."); 
});
Copier après la connexion

load : L'événement load se déclenche lorsque la page entière, y compris toutes les ressources dépendantes telles que les feuilles de style, les images et les scripts externes, est entièrement chargée. Cet événement garantit que toutes les ressources externes nécessaires sont disponibles avant d'exécuter votre code.

window.addEventListener('load', function() { 
// Execute code when the entire page and resources are loaded 

console.log("All resources including external scripts are fully loaded."); 
});
Copier après la connexion
<script defer src="https://example.com"></script>
<script defer src="https://example2.com"></script>
<script>
    // Wait for the entire page, including scripts, to load
    window.addEventListener('load', function() {
        // Initialize example2 library with predefined configuration after all resources are fully loaded
        example2(somePredefinedConfig).functionCall();
    });
</script>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal