Maison >interface Web >js tutoriel >Comment appeler les fonctions de fichier « .js » de manière synchrone ?
Injection de script synchrone à l'aide de document.createElement("script")
Lorsque vous tentez d'appeler un fichier .js de manière synchrone et d'utiliser ses fonctions immédiatement , il y a des limites. L'extrait de code fourni montre une tentative de chargement d'un script et d'appel d'une fonction, mais elle échoue car le script n'a pas encore été chargé.
Bien que l'attribution d'un gestionnaire d'événements de chargement au script puisse résoudre le problème dans certains cas, son fonctionnement n'est pas garanti de manière cohérente, surtout si le script inclus injecte des scripts supplémentaires avec leurs propres fonctions.
Pour relever ce défi, une approche consiste à créer une fonction Include() personnalisée :
Include('my1.js'); Include('my2.js'); myFunc1('blarg'); myFunc2('bleet');
Cette fonction pourrait utiliser XMLHttpRequest pour récupérer le script puis l'évaluer globalement. Une alternative consiste à créer un élément de script, à l'ajouter à l'élément head et à évaluer sa source directement à l'aide de eval(). Cependant, cette approche peut être sujette à des problèmes de portée.
Une autre option consiste à exploiter les outils de chargement de scripts existants tels que Requirejs ou yepnope, qui gèrent les complexités du chargement de scripts asynchrones et fournissent des solutions robustes pour diverses situations. En utilisant ces outils, les développeurs peuvent simplifier le processus d'inclusion et d'utilisation de scripts externes.
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!