js code< /script>"."/> js code< /script>".">
Maison >interface Web >js tutoriel >Qu'est-ce que le report en javascript
defer indique au navigateur que le segment Script contient du code qui n'a pas besoin d'être exécuté immédiatement et est utilisé conjointement avec l'attribut SRC. Il peut également entraîner le téléchargement de ces scripts en arrière-plan et du contenu au premier plan. s'affiche normalement à l'utilisateur ; la syntaxe "b6abb9f95e1e7d03e71e2a9f71e7c034 js code2cacc6d41bbb37262a98f745aa00fbf0".
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Beaucoup de gens maîtrisent déjà Javascript, mais ils ne savent peut-être pas à quoi il sert lorsqu'ils voient defer ; de nombreuses personnes ont également rencontré un tel problème et doivent exécuter directement js qui ne manipule pas les objets DOM. erreur indiquant que l'objet est introuvable. Comme tout le monde le sait, la raison est que la page n'a pas encore été chargée et que l'objet d'opération js est toujours en cours de téléchargement. Mais beaucoup de gens ne savent pas que l’ajout de la balise defer peut facilement résoudre ce problème. La fonction de defer dans
<script src="../CGI-bin/delscript.js" defer></script>
est d'exécuter le script après le chargement du document, afin d'éviter le problème de ne pas trouver l'objet --- un petit problème
<button id="myButton" onclick="alert('ok')">test</button> <script> myButton.click(); </script> <script> myButton.click(); </script> <button id="myButton" onclick="alert('ok')">test</button> <script defer> function document.body.onload() { alert(document.body.offsetHeight); } </script>
plus defer signifie qu'il sera exécuté après la page est complètement chargée, ce qui équivaut à window onload, mais c'est plus flexible que window.onload dans l'application !
defer est un "héros méconnu" doté du pouvoir des programmes de script. Il indique au navigateur que le segment Script contient du code qui n'a pas besoin d'être exécuté immédiatement et, utilisé conjointement avec l'attribut SRC, il peut également provoquer le téléchargement de ces scripts en arrière-plan et l'affichage du contenu au premier plan. à l'utilisateur normalement.
--Mais avant d'exécuter le script une fois le document chargé
Veuillez noter deux points :
1. N'appelez pas la commande document.write dans un segment de script de type différé, car document.write produira une sortie directe. effet.
2. De plus, n'incluez aucune variable ou fonction globale à utiliser par le script d'exécution immédiate dans le segment de script différé.
Un moyen courant d'optimiser les performances consiste à définir l'attribut "defer" dans la balise 03c6714b8e3ee3238fc596020c4901e1 lorsque le script n'a pas besoin d'être exécuté immédiatement. (Le script immédiat n'est pas contenu dans un bloc fonctionnel, il sera donc exécuté pendant le processus de chargement.) Après avoir défini l'attribut "defer", IE n'a pas besoin d'attendre que le script se charge et s'exécute. De cette façon, la page se chargera plus rapidement. De manière générale, cela signifie également qu'il est préférable de placer les scripts immédiats dans un bloc fonctionnel et de gérer la fonction dans le gestionnaire onload du document ou de l'objet corps. Cette propriété est utile lorsqu'il existe des scripts qui s'appuient sur des actions de l'utilisateur, comme cliquer sur un bouton ou déplacer la souris vers une certaine zone. Mais lorsque certains scripts doivent être exécutés pendant ou après le chargement de la page, les avantages de l'utilisation de l'attribut defer ne sont pas grands.
L'attribut defer dans le script est faux par défaut. Selon la description dans le Guide de programmation DHTML, l'attribut Defer s'écrit comme ceci :
L'utilisation de l'attribut au moment de la conception peut améliorer les performances de téléchargement d'une page car le navigateur n'a pas besoin d'analyser et d'exécuter le script et peut continuer le téléchargement. et analyser la page à la place.
En d'autres termes : si vous ajoutez l'attribut defer lors de l'écriture d'un script, le navigateur n'a pas besoin de le traiter immédiatement lors du téléchargement du script, mais continue de télécharger et d'analyser la page, ce qui augmentera performances des téléchargements.
Il existe de nombreuses situations de ce type. Par exemple, si vous définissez beaucoup de variables JavaScript ou écrivez beaucoup de scripts dans le fichier de référence (.inc) qui doivent être traités, vous pouvez aussi bien ajouter l'attribut defer à ces scripts, ce qui contribuera certainement à améliorer les performances. .
Par exemple :
<script language="javascript" defer> var object = new Object(); .... </script>
Parce que l'attribut defer est faux par défaut, alors déclarer explicitement l'attribut defer ici
<script language="javascript" defer>
équivaut à
<script language="javascript" defer=true>
Après avoir déclaré l'attribut defer, vous devez déterminer si d'autres variables font référence à defer. Variables dans les blocs de script, sinon des erreurs de script se produiront.
【Apprentissage recommandé : Tutoriel avancé javascript】
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!