Tach!
Wenn das Script deines Kollegen eine platte JS Datei ist, d.h. sein Code NICHT in eine Funktion eingekapselt ist, dann musst Du es so machen wie beschrieben. Script-Tag erzeugen, ins DOM hängen, etwas warten und hoffen. Sobald der Browser das Script downgeloaded hat, führt er es aus.
Mich wundert auch, warum man ein Script einbindet, wenn ein Fehler aufgetreten ist. Was ist bei einem weiteren Fehler, falls das vorkommen kann? Und wie sieht der Code in der einzubindenden Datei aus? Das ganze Vorgehen sieht mir ziemlich ungewöhnlich aus. Was wäre denn auch großartiges in der Datei, das nicht von Anfang an ausgeliefert werden kann und nur im Fehlerfall aufgerufen wird?
Und wenn's doch eine plattes Script ist, dann würde ich es mir an Deiner Stelle mal angucken. Matscht es im globalen Scope herum? Kann man es ggf. nachträglich in einer Funktion verkapseln? Aus meiner Sicht wäre es gute Praxis, wenn man in einer Webanwendung nur ein Script hat, dass direkt Wirkung entfaltet. Der Rest sollten Funktionssammlungen oder Moduldefinitionen sein, die weitestgehend die Fingerchen vom globalen Scope lassen.
Naja, wenn mir das Haus gehört, warum soll ich nicht im Hausflur meine Schuhe und andere Gegenstände abstellen dürfen? Dass es Best Practice ist, wenn man auf Andere Rücksicht nehmen muss, ist verständlich. Aber was ist so toll an dem Prinzip, dass man es zum heiligen Dogma erklären muss? So kommt es mir zumindest gelegentlich vor. Was konkret spricht dagegen, dass das Script im globalen Scope hantiert? Ich wüsste die Antwort nicht, weil ich die konkreten Begleitumstände nicht kenne.
dedlfix.