bene: Javascript entfernen per DOM

Beitrag lesen

hi,

ich habe ein JavaScript im Dokument
z.B.
function test() { alert('test default'); }

Dann füge ich per JavaScript einen neuen Script Knoten ein, der mit die aktuelle Test-Funktion "überschreibt".

z.B.
function test() { alert('test neu'); }

Der DOM-Inspektor zeigt mir, dass die Funktion prinzipiell nicht überschrieben wird - sondern nur ein weiterer Skript Knoten mit derselben Funktion angefügt wurde.

Unterscheide bitte zwischen HTML-Elementen, und Javascript-Objekten.

Du hast ein neues HTML-Element script erstellt.
Dessen Inhalt wird interpretiert, die Funktion test überschrieben.

Ok, ich dachte es gibt hier wirklich so etwas wie einen "Funktions-Stack", bei dem die neueste Funktion verwendet wird - schade wäre ja sonst auch zu einfach gewesen...

Jetzt hast du das HTML-Element script aus dem DOM entfernt.
Das bewrikt aber keine Zeitreise, nach der der bereits interpretierte Inhalt dieses Elements wieder weg wäre.

wie gesagt, wäre ja auch zu einfach gewesen ;-)

  1. Weis jemand, wie ich meine zweite Funktion wieder vollständig entfernen kann? So dass die erste Funktion wieder greift?

Das geht nur, wenn du dir die ursprüngliche Funktion vorher sicherst.

var alteFunktion = function() { test() ; };

Ok, dass könnte funktionieren - ich berichte ob es klappt.

Thx, Bene