English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Plusieurs méthodes pour ne pas utiliser script pour importer des fichiers js

Méthode un : natif

 Contenu de adc.js suivant :

var hello = "H9"; 

html.html

<script>
      var s = document.createElement("script");
      s.src = "abc.js";
      document.head.appendChild(s);
      s.addEventListener("load",function(){
        // attendre que l'événement de chargement de s soit terminé pour éviter les erreurs lors de l'appel avant le chargement
        console.log(hello);
      )
      setTimeout(function(){//ou utilisez un timer pour vous assurer que le chargement est terminé avant d'appeler (pas sécurisé, mieux vaut écouter l'événement)
        console.log(hello);
      ,1000);
     // $.getScript("abc.js");
  </script>

Méthode deux : jquery.js

$.getScript("abc.js",function(){ alert("heheheh"); console.log(hello); }); 
<script type="text/javascript" src="../jquery.js"></script> 
<script type="text/javascript"> 
$(function()
{
$('#loadButton').click(function(){
$.getScript('new.js',function(){
newFun('"Checking new script"');//Cette fonction est dans new.js, et elle est exécutée après le clic sur click
});
});
});
</script> 
</head> 
<body> 
<button type="button" id="loadButton">Load</button>
 

Méthode 3: require.js

Partage de require.js2.1.1Version, notez que cela s'applique aux grands projets, dans la plupart des cas, il suffit d'utiliser jQuery.

index.html

<!--Définir le fichier d'entrée principal main peut être omis sans js-->
<script data-main="main" src="require.js"></script>

main.js

console.log("Bonjour le monde");
require(["js1","js2","js3],function () {
  // C'est un chargement asynchrone. Le suffixe .js peut être omis
  console.log("Avez-vous terminé le chargement ?");
  var total = num1+num2+num3;
  console.log(total);
  hello1();
  hello2();
  hello3();
)

Il est très facile d'importer des fichiers js avec requireJs, mais il faut être attentif aux conflits de noms de variables et de méthodes. Cause: les fichiers js du navigateur partagent un espace d'adressage global, et les noms de variables et de méthodes dans l'espace d'adressage peuvent être écrasés

Vous pourriez aussi aimer