beim Debuggen eines replace()-Befehls bin ich auf ein Problem gestoßen, das ich als solches nicht erkennen kann.
Folgender Code lässt sich als Skript über die Skriptpalette ohne Probleme ausführen:
Versuche ich, diesen Code im ESTK auszuführen, passiert gar nix. Nicht mal der erste alert()-Befehl wird ausgeführt. Nur das Warten-Rädchen dreht sich ohne Ende. Escape ich nun das ">" im zweiten replace()-Befehl, funktioniert es auch im ESTK.
Das Interessante dabei ist, dass auch ein Auskommentieren der 2. Zeile mit dem unescapten ">" nicht vor dem Problem schützt:
ESTK scheint bei der Kombination ']]>' in eine Endlosschleife zu geraten. Ohne die dem '>' voranstehenden ']]' funktioniert's auch.
Da selbst der erste alert()-Befehl nicht ausgeführt wird, nehme ich an, dass die Ursache in der Vorabprüfung der Syntax (etwa fehlende oder zu viele Klammern aufspüren) zu suchen ist.
Lässt sich dieses Verhalten auch unter Windows reproduzieren?
Zum anderen bin ich hinsichtlich der Notwendigkeit des Escapens von reservierten Zeichen beim replace()-Befehl verunsichert. Empfiehlt es sich, im Zweifel oder gar grundsätzlich das Escape-Zeichen auch beim Ersetzen-Ausdruck anzugeben?
(Dieser Beitrag wurde von Martin Fischer am 16. Jul 2013, 10:36 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer
(Moderator) am 16. Jul 2013, 10:36