Ich benutze Prototyp, um externe js-Datei (eigentlich ist es PHP-Datei) dynamisch zu laden. So:Dynamische Laden einer js-Datei mit Prototype?
function UpdateJS(file)
{
var url = 'main_js.php?file='+file;
var myAjax = new Ajax.Request(url, {method: 'get', onComplete: showResponseHeader});
}
function showResponseHeader (originalRequest)
{
$('jscode').innerHTML = originalRequest.responseText;
}
Container "jscode" wie folgt definiert ist:
<script type="text/javascript" id="jscode"></script>
Und es funktioniert! Wenn jedoch eine andere Datei aufgerufen wird, bleiben alle Funktionen der vorherigen Datei erhalten. Und das will ich nicht. Jeder weiß, wie man die erste js-Datei "entlädt", wenn der zweite aufgerufen wird?
(Ich habe auch versucht Ajax.Updater Funktion, aber das Ergebnis ist das gleiche verwenden.)
Update: Es stellt sich heraus, dass es größeres Problem: es lädt nur, wenn die Funktion „UpdateJS“ ist in window.onload deshalb lädt es danach nichts mehr. Also Prototypen aktualisieren es ist vielleicht nicht so ein guter Weg für diese ...
ich auch eine Lese darüber hatte, das Problem zu sein scheint, dass es das Skript Knoten entfernt, aber nicht tatsächlich die definierten Eigenschaften aus dem Speicher, und das war der Punkt, nicht wahr? –
Nein, eigentlich ist es nicht. Aber ja, ich dachte, das wäre das Problem. Wenn meine neue .js-Datei eine Funktion lädt, die den gleichen Namen wie in der ersten .js-Datei hat, wird sie die zweite verwenden, und das ist, was ich wollte. – domagojk