MudGuard: Denkfehler?

Beitrag lesen

Hi,

document.write('<div ID="layer1">');
document.write('<!--#include file="datei.txt" -->');

Wenn datei.txt auch nur ein ' oder einen Zeilenumbruch enthält, ist damit die javascript-Anweisung kaputt.

document.write('</div>');
Das will einfach nicht funktionieren, während
<div ID="layer1">
<!--#include file="datei.txt" -->

Hier ist das kein Problem, denn für HTML sind z.B. Zeilenumbrüche vollkommen egal.

</div>
im HTML-Code völlig prblemlos funktioniert.

Ich erkläre es mir so: SSI ist eine serverseitige Technologie, und Javascript funktioniert clientseitig. Auf dem Client kann ich natürlich (?) keine Anweisungen ausführen, die nur der Server befolgen kann. Stimmt das?

Nein. Beim Client kommt ja die SSI-Anweisung gar nicht mehr an. Wenn die Datei datei.txt
abc
enthält, dann kommt beim Client
document.write('abc');
an.
Steht aber
abc
def
in der Datei, kommt
document.write('abc
def');
beim Client an, was kein gültiges Javascript ist (Zeilenumbruch mitten im String).
Selbiges für
abc'def
denn dann kommt
document.write('abc'def');
an, was auch nicht richtig ist (def' steht nach dem String).

Guck einfach mal in den Quelltext, der beim Browser ankommt.

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.