Haxe: Script mit replaceChild ändern

Ich möchte in einem Javascript den Verweis ein externes Script verändern, also zum Beispiel von Test1.js auf Test2.js. Dies sieht aktuell so aus:

<head>...  
<script id="idPicList" src="Test1.js" type="text/javascript" charset="utf-8"></script>...

Dann das Javascript

  
  var script = document.createElement('script');  
  script.src = "Test2.js";  
  script.type = 'text/javascript';  
  script.id = "idPicListNew";  
  script.charset = "utf-8";  
  
  (document.getElementsByTagName('HEAD')[0] || document.body).replaceChild(script, document.getElementById("idPicList"));  

Rufe ich danach die Funktion test() auf, die in beiden Dateien steht, so wird jene aus Test1.js aufgerufen. Füge ich vor den Aufruf ein alert() ein, so wird die Änderung durchgeführt und test() aus Test2.js aufgerufen.
Es handelt sich also um ein Timingproblem. Wie stelle ich sicher, dass vor dem Aufruf von test() das <script> geändert wurde? Ich habe schon eine Schleife gebaut, die src vergleicht, hilft aber nicht.

  1. Hallo Haxe,

    offensichtlich läuft das Austauschen bzw. Laden des Scriptes asynchron, d.h. wenn der Befehl "...replace..." abgearbeitet ist, ist das Script noch nicht sofort verfügbar. In einem anderen Thread https://forum.selfhtml.org/?t=212267&m=1449664 habe ich einen Script-Nachlader gepostet, der prüft, ob das Script geladen ist, und dann eine Callback-Funktion aufruft.

    Gruß, Jürgen