HTML-Kommentare "<!--" und "-->" in JS ausgeben
Uwe Ritter
- javascript
0 Jürgen K.0 Uwe Ritter
0 Calocybe0 AndreasW0 Uwe Ritter0 AndreasW
0 AndreasW
Liebe Leute,
habe ein Problem:
Ich möchte im Rahmen einer IF-Abfrage per JavaScript bestimmte Blöcke aus dem HTML-Text auskommentieren. Das habe ich so gemacht:
<script language="JavaScript">
if ("string" == "string") {
document.write("<!--")
}
</script>
Hier ist weiterer Quelltext, der gegebenenfalls auskommentiert werden soll.
<script language="JavaScript">
if ("string" == "string") {
document.write("-->")
}
</script>
Müsste theoretisch eigentlich klappen, tut es aber nicht. Es werden nämlich die Zeichen ")} plötzlich im Browser angezeigt, wenn die Bedingung zutrifft.
Weiss jemand, wie ich die Syntax schreiben muss, damit diese Konstruktion klappt?
Vielen Dank
Uwe
Hallo,
für <!-- schreibst Du <!--
--> kannst Du, glaube ich, so lassen, aber wenn nicht, nimm -->
Viele Grüße,
Jürgen
Hallo Jürgen,
leider funktioniert es so nicht. Es wird dann zwar im Browser als <!-- und --> angezeigt ohne dass es Skriptfehler gibt, aber es funktioniert nicht mehr als Kommentarzeichen, mit dem man Text auskommentieren kann, der nicht im Browser erscheinen soll.
Gruß
Uwe
Hallo,
für <!-- schreibst Du <!--
--> kannst Du, glaube ich, so lassen, aber wenn nicht, nimm -->
Viele Grüße,
Jürgen
Hallo
leider funktioniert es so nicht. Es wird dann zwar im Browser als <!-- und --> angezeigt ohne dass es Skriptfehler gibt, aber es funktioniert nicht mehr als Kommentarzeichen, mit dem man Text auskommentieren kann, der nicht im Browser erscheinen soll.
Dachte, es hätte mal bei mir geklappt, aber ich hab das Script nicht mehr.
Aber nimm statt <!-- --> doch einfach <noscript></noscript>, das hat den gleichen Effekt, der Teil dazwischen wird nicht dargestellt. Zumindest solange Javascript aktiviert ist und wenn es das nicht ist, wird document.write ohnehin nicht ausgeführt.
Ich hoffe, das hilft.
Jürgen
Hallo Jürgen,
<noscript> funktioniert überhaupt nicht. Da verschwindet im Browser der Rest der Seite ab der Stelle, wo das noscript sitzt.
Ich hab die Sache inzwischen mit PHP realisiert.
Gruß
Uwe
Hallo
leider funktioniert es so nicht. Es wird dann zwar im Browser als <!-- und --> angezeigt ohne dass es Skriptfehler gibt, aber es funktioniert nicht mehr als Kommentarzeichen, mit dem man Text auskommentieren kann, der nicht im Browser erscheinen soll.
Dachte, es hätte mal bei mir geklappt, aber ich hab das Script nicht mehr.
Aber nimm statt <!-- --> doch einfach <noscript></noscript>, das hat den gleichen Effekt, der Teil dazwischen wird nicht dargestellt. Zumindest solange Javascript aktiviert ist und wenn es das nicht ist, wird document.write ohnehin nicht ausgeführt.
Ich hoffe, das hilft.
Jürgen
Hi!
Müsste theoretisch eigentlich klappen, tut es aber nicht. Es werden nämlich die Zeichen ")} plötzlich im Browser angezeigt, wenn die Bedingung zutrifft.
Muss ein kaputter Browser sein. Aber naja, warum machst Du an der Stelle nicht denselben Trick wie oben, also "-->" ? Die Position des \ dabei ruhig mal variieren.
So long
--
Q: Why have scientists begun to use lawyers instead of lab rats for research?
A: Two reasons: first, they are more plentiful than rats, second, the researchers don't get as attached to them.
One problem, though, is that no one has been able to extrapolate the test results to human beings.
Hi!
Tach.
Müsste theoretisch eigentlich klappen, tut es aber nicht. Es werden nämlich die Zeichen ")} plötzlich im Browser angezeigt, wenn die Bedingung zutrifft.
Siehe mein Posting, da steht drin, warum das nicht klappen kann.
Muss ein kaputter Browser sein. Aber naja, warum machst Du an der Stelle nicht denselben Trick wie oben, also "-->" ? Die Position des \ dabei ruhig mal variieren.
Nein, der Browser verhält sich korrekt.
--> hilft auch nicht.
Andreas
Andreas, Deine Ausführungen, was die Kommentarzeichen bewirken, klingen logisch. Aber trotzdem funktioniert meine Lösung in der Praxis schon. Und zwar am besten mit folgender Syntax (die natürlich an sich falsch ist):
<script language="JavaScript">
if ("" == "") {
document.write("<!--")}
</script>
Text
<script language="JavaScript">
if ("" == "") {
document.write("--> // ja, genau so!!!
</script>
Alldings wird im Browser ein Skriptfehler angezeigt wg. der fehlenden Zeichen ")} hinter dem zweiten document.write
Ist doch abenteuerlich, der Code, oder?
Ich hatte gehofft, es gibt eine Möglichkeit, es doch ohne Skriptfehler hinzukriegen.
Ich habe es jetzt in PHP realisiert. Da ist's kein Problem.
Vielen Dank für die Beteiligung!
Gruß
Uwe
Hi!
Tach.
Müsste theoretisch eigentlich klappen, tut es aber nicht. Es werden nämlich die Zeichen ")} plötzlich im Browser angezeigt, wenn die Bedingung zutrifft.
Siehe mein Posting, da steht drin, warum das nicht klappen kann.
Muss ein kaputter Browser sein. Aber naja, warum machst Du an der Stelle nicht denselben Trick wie oben, also "-->" ? Die Position des \ dabei ruhig mal variieren.
Nein, der Browser verhält sich korrekt.
--> hilft auch nicht.
Andreas
Andreas, Deine Ausführungen, was die Kommentarzeichen bewirken, klingen logisch. Aber trotzdem funktioniert meine Lösung in der Praxis schon. Und zwar am besten mit folgender Syntax (die natürlich an sich falsch ist):
Dann taugt der Browser nix. Welcher ist es? Laß mich raten. Er kommt aus dem Hause Microsoft...
Andreas
Liebe Leute,
Hallo,
habe ein Problem:
Ich möchte im Rahmen einer IF-Abfrage per JavaScript bestimmte Blöcke aus dem HTML-Text auskommentieren. Das habe ich so gemacht:
<script language="JavaScript">
if ("string" == "string") {
document.write("<!--")
}
</script>
Hier beginnt also Dein Kommentar. Dieser endet beim ersten Vorkommen von -->
Hier ist weiterer Quelltext, der gegebenenfalls auskommentiert werden soll.
<script language="JavaScript">
Das wird, da es ja innerhalb des oben begonnenen Kommentars steht, nicht als Script-Element erkannt.
if ("string" == "string") {
Das ist ebenfalls noch Kommentar.
document.write("-->")
^ hier ist das Ende des Kommentars.
Danach steht ein nicht-auskommentiertes ")
Das wird natürlich angezeigt, ist ja nicht auskommentiert.
}
Das wird ebenfalls angezeigt, ist ja nicht auskommentiert.
</script>
Das wird nicht angezeigt, obwohl es nicht auskommentiert ist.
Das ist ja ein tag, wenn auch eines, das an dieser Stelle keinen Sinn hat, denn es fehlt das öffnende script-tag.
Müsste theoretisch eigentlich klappen, tut es aber nicht. Es werden nämlich die Zeichen ")} plötzlich im Browser angezeigt, wenn die Bedingung zutrifft.
Das *kann* so gar nicht klappen. Erklärung siehe oben.
Andreas