Maison > Article > interface Web > Comment puis-je exécuter des modules JavaScript de manière synchrone dans les navigateurs ?
Exécuter des modules JavaScript de manière synchrone à l'aide de document.createElement("script")
Les appels aux fichiers JavaScript sont généralement asynchrones, ce qui signifie que l'exécution ultérieure du code peut se produire avant que le script externe ait été chargé et évalué. Cela peut entraîner des problèmes lors de l'utilisation de fonctions ou de variables définies dans le script externe.
Une approche de l'exécution synchrone consiste à utiliser un gestionnaire onload pour l'élément de script créé. Ce gestionnaire invoquera la fonction ou le code souhaité une fois le script traité.
<code class="javascript">const script = document.createElement('script'); script.onload = () => { // Script loaded and ready console.log("Script loaded and ready"); }; script.src = "http://whatever.com/the/script.js"; document.getElementsByTagName('head')[0].appendChild(script);</code>
Cependant, Internet Explorer ne déclenche pas d'événement « load » pour les balises de script, ce qui nécessite des méthodes alternatives de synchronisation. Les exemples incluent l'exécution d'un XMLHttpRequest pour récupérer le script et son exécution manuelle ou l'insertion du texte du script dans une balise de script créée dynamiquement.
Pour améliorer la gestion des scripts et la gestion des cas particuliers, il est recommandé d'envisager des outils de chargement de script robustes tels que comme RequireJS ou yepnope, qui est désormais intégré à Modernizr.
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!