2 votes

Suppression et ajout dynamiques de fichier JavaScript

Je suis en train d'essayer d'ajouter et de supprimer un fichier js dynamiquement en utilisant la technique d'ajout et de suppression d'éléments html :

  function start(){
      var scriptElement = document.createElement('script');
          scriptElement.src = 'js/game_page.js'; 
          scriptElement.id = "game1";
          document.body.appendChild(scriptElement);
      }
       start();
       function stop(){
        var a = document.getElementById("game1");
        a.parentNode.removeChild(a);
       }
        stop();

Dans ce cas, le fichier js qui est ajouté dans le DOM continue de fonctionner même après avoir appelé stop() Veuillez également partager s'il y a une autre manière de faire ce qui suit,

Attente :

Algorithme :

 add work1.js
onclick du bouton{
  if(condition1)
  {
     remove work1.js //peut contenir les mêmes déclarations, donc les supprimer est également important
     add work2.js
  }
  else
  {
     if(work2.js présent)
     {
       remove work2.js
       add work1.js
     } 
  }
}

1voto

Tim Points 36

JavaScript est chargé avec la page, les fichiers de script individuels ne peuvent pas être chargés / déchargés après le chargement de la page.

Si vous essayez de faire en sorte qu'un certain code s'exécute uniquement lorsqu'un bouton est pressé, vous pouvez peut-être le contenir dans une fonction, ou la méthode d'un objet et l'exécuter à partir de là:

let lastRun = null;
onclick du bouton{
  if(condition1)
  {
     removeWork1(); // Fonction qui annule tout ce que work1 crée.
     work2();
     lastRun = "work2";
  }
  else
  {
     if(lastRun === "work2")
     {
       lastRun = "work1";
       work1();     } 
  }
}

Il serait beaucoup plus facile de vous aider dans votre situation si vous mettez à jour votre question pour inclure quel code sera exécuté à partir de ces scripts. Essayez-vous de modifier le dom, de changer la page?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X