[CON-1792]: Backslashes gehen verloren
Verfasst: Di 11. Mär 2014, 23:00
Hallo Forum
Ob das jetzt ein Bug in 4.9.3 ist oder ein Feature, kann ich nicht sagen - aber es fällt mir auf, dass zumindest im Input von Modulen Backslashes in Javascript-Code verloren gehen. So funktionieren beispielsweise folgende Konstrukte nicht mehr, die ich haufenweise noch in 4.9.1 verwendet habe:
Das muss ich umständlich ändern in:
Oder bei:
gehen die \ weg, die n bleiben. Natürlich braucht es die Newlines an sich nicht, Abstände reichen auch - aber wenn das Modul schon geschrieben ist, wirds mühsam, bis überall die Fehler gefunden sind.
Wenn man es weiß, kann man den Code entsprechend umschreiben, aber es ist natürlich umständlich. Insbesondere wenn man viele oder umfangreiche Module mit solchen Konstrukten im Einsatz hat, sollte man sich ein Upgrade von 4.9.1 auf 4.9.3 gut überlegen.
Ob das jetzt ein Bug in 4.9.3 ist oder ein Feature, kann ich nicht sagen - aber es fällt mir auf, dass zumindest im Input von Modulen Backslashes in Javascript-Code verloren gehen. So funktionieren beispielsweise folgende Konstrukte nicht mehr, die ich haufenweise noch in 4.9.1 verwendet habe:
Code: Alles auswählen
echo "<a href='[...]' onClick='return loeschen(\'" . $name . "\')'>[x]</a>";
Code: Alles auswählen
$str = 'return loeschen("' . $name . '")';
echo "<a href='[...]' onClick='" . $str . "'>[x]</a>";
Code: Alles auswählen
echo "<script type='text/javascript'>";
echo "\nfunction loeschen(nme) {";
echo "\nreturn window.confirm('Wollen Sie ' + nme + ' wirklich löschen?');";
echo "\n}</script>";
Wenn man es weiß, kann man den Code entsprechend umschreiben, aber es ist natürlich umständlich. Insbesondere wenn man viele oder umfangreiche Module mit solchen Konstrukten im Einsatz hat, sollte man sich ein Upgrade von 4.9.1 auf 4.9.3 gut überlegen.