Deus Figendi: "unload" Script

Beitrag lesen

Natürlich nicht. Das hat nichts miteinander zu tun. Es ist nicht entscheidend, wie ein Script geladen wurde. Wenn es beim Ausführen das Objektsystem ändert, kann das nicht durch das Löschen des zugehörigen script-Elements rückgägngig gemacht werden.

Naja mit Style-Elementen geht das, daher meine Hoffnung XD Aber ich gebe zu es war nur eine schwache Hoffnung (obwohl das mit GreaseMonkey so ist, wenn das Script abgelaufen ist sind alle Objekte alle Variablen alles weg, soweit nicht noch was "offen" ist.)

Wenn du alles sauber überschreibst, dann werden Identifier zu deinen neuen Objekten aufgelöst.

Dann ist das wohl der Versuch den ich unternehmen werde :/

Allerdings gibt es noch z.B. Event-Handler, die die alten Funktionen referenzieren. Diese Referenzen gehen nicht über den Namen, d.h. sie ändern sich nicht, wenn du den Namen überschreibst. Da musst du schon den vorherigen Event-Handler entfernen und deinen neuen hinzufügen.

Naja, wenn ich mich nicht täusche fügt das Script an Event-Handlern nur eine Schalfläche mit onClick hinzu, die könnte ich ja einfach löschen. Alles andere wird erst danach erstellt oder geladen (hoffe ich)

Das Originalscript kannst du wahrscheinlich nicht ändern, oder? Wenn man dieses sinnvoll kapselt und die Möglichkeit des Entladens einbaut, hättest du die Probleme gar nicht. Eigentlich sollte man alle Scripte heutzutage so aufbauen.

Auf das Original hab ich nur bedingten Einfluss. Das Script ist schon alt und der Coder damals noch etwas unerfahren, daher einige Anfängerfehler drin (z.B. globale Laufvariablen). Das ist unter anderem der Grund für den Fork, ich möchte es auf moderne Beine stellen.

Ob ich dabei soweit gehe wie du vorschlägst weiß ich noch nicht, ich denke eher nicht es erscheint mir recht aufwändig im Nachhinein. Es ist auch alles recht funktionsorientiert, das werde ich wohl auch nicht mehr ändern (dann wäre ich beim kompletten re-write)

Dennoch danke dann werde ich sie einfach mal parallel testen und gucken ob's klappt und was ich noch überschreiben muss oder ob ich noch EventHandler auflösen muss.

Danke für deine Antwort :)

--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(