Maison > interface Web > js tutoriel > Analyser l'ordre dans lequel les navigateurs exécutent le chargement des scripts JavaScript et les compétences d'exécution du code_javascript

Analyser l'ordre dans lequel les navigateurs exécutent le chargement des scripts JavaScript et les compétences d'exécution du code_javascript

WBOY
Libérer: 2016-05-16 15:20:28
original
1688 Les gens l'ont consulté

Cet article s'appuie principalement sur plusieurs manières d'introduire JavaScript dans les pages HTML, en analysant l'ordre d'exécution des scripts JavaScript en HTML

1. Concernant la nature bloquante de l'exécution du script JavaScript

JavaScript a des caractéristiques de blocage lorsqu'il est analysé et exécuté dans le navigateur. C'est-à-dire que lorsque le code JavaScript est exécuté, l'analyse, le rendu et le téléchargement des autres ressources doivent s'arrêter et attendre la fin du script①. Ceci n'est pas controversé et le comportement est cohérent dans tous les navigateurs. La raison n'est pas difficile à comprendre : le navigateur a besoin d'une structure DOM stable, et JavaScript peut modifier le DOM (changer la structure du DOM ou modifier un certain nœud DOM), si le l'analyse de la page continue pendant l'exécution de JavaScript, l'ensemble du processus d'analyse deviendra difficile à contrôler et la possibilité d'erreurs d'analyse deviendra également très élevée.

Cependant, il y a un autre problème qui mérite attention ici. Pour les scripts externes, cela implique également un processus de téléchargement de script. Dans les premiers navigateurs, le téléchargement de fichiers JavaScript bloquait non seulement l'analyse de la page, mais bloquait même d'autres ressources. sur la page Téléchargements (y compris d'autres fichiers de script JavaScript, des fichiers CSS externes et des ressources externes telles que des images). À partir d'IE8, Firefox3.5, Safari4 et Chrome2, le téléchargement parallèle de JavaScript est autorisé. Dans le même temps, le téléchargement de fichiers JavaScript ne bloquera pas le téléchargement d'autres ressources (dans les anciennes versions, le téléchargement de fichiers JavaScript bloquera également). le téléchargement d'autres ressources).

Remarque : différents navigateurs ont des restrictions différentes sur le nombre maximum de connexions sous le même nom de domaine. L'exigence de la spécification du protocole HTTP1.1 est qu'il ne peut pas être supérieur à 2, mais la plupart des navigateurs fournissent actuellement un nombre maximum de connexions. . Plus de 2, IE6/7 en ont tous deux 2, IE8 a été mis à niveau vers 6, Firefox et Chrome en ont également 6. Bien entendu, ce paramètre peut également être modifié. Pour plus de détails, veuillez vous référer à : http://. www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections/

2. À propos de l'ordre d'exécution du script

Les navigateurs analysent les pages dans l'ordre de haut en bas, donc dans des circonstances normales, l'ordre d'exécution des scripts JavaScript est également de haut en bas, c'est-à-dire que le code qui apparaît en premier sur la page ou le code qui est introduit en premier est toujours exécuté en premier, même lorsque le téléchargement parallèle de fichiers JavaScript est autorisé. Notez que nous avons marqué ici « dans des circonstances normales » en rouge. Quelle en est la raison ? Nous savons qu'il existe de nombreuses façons d'ajouter du code JavaScript au HTML, qui sont résumées comme suit (quels que soient les chargeurs de modules tels que requirejs ou seajs) :

(1) Introduction normale : c'est-à-dire introduire du code de script ou introduire des scripts externes via la balise

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal