Werden comment tags noch benötigt?

Verfasst am: 05. 03. 2011 [14:16]
klaus_b
Dabei seit: 17.12.2009
Themenersteller

327 Beiträge
Beitrag hilfreich?

Hallo zusammen,

gibt es heutzutage noch eine Begründung für die umschließenden comment-tags um einen Javascriptblock?
In früherer Zeit, als Javascript eher noch eine Seltenheit war, war es durchaus sinnvoll den Scriptblock mir Kommentar-Tags zu umschließen.
Aber heute? Ich konnte bis jetzt noch keinen nachteiligen Effekt erkennen, wenn ich die comment tags entferne.
Was meint iht dazu? Sind comment tags noch erforderlich?

Servus,
Klaus

klaus_b@.NET über alles was an .NET und C# Spass macht.
http://www.seitenreport.de/twitter_icon_small.png
 
Verfasst am: 05. 03. 2011 [15:11]
joerg
Dabei seit: 09.06.2009

1540 Beiträge
Beitrag hilfreich?

Hallo Klaus

Sprechen wir an der Stelle über HTML oder XHTML?

Für interne Javascript Anweisungen habe ich mal gelesen das man sie für XHTML besser in einem Cdata Bereich setzen sollte.

Momentan würde ich es für die beste Verhaltensweise erachten Javascript nach extern zu verlagern um deine Fragestellung auf diesem Wege zu umgehen.

Mein Wissen in diesem Bereich ist aber auch minimal.

Gruß
Jörg

 
Verfasst am: 05. 03. 2011 [15:35]
klaus_b
Dabei seit: 17.12.2009
Themenersteller

327 Beiträge
Beitrag hilfreich?

Hallo Jörg,

"joerg" schrieb:
Sprechen wir an der Stelle über HTML oder XHTML?
Sorry, hab ich vergessen zu erwähnen. Natürlich XHTML.
Ich habe testweise Inline-Javascript in einer XHTML1.1 Seite in CDATA-Blöcke gesetzt und in der selben Seite auch ohne CDATA-Blöcke direkt in das HTML geschrieben. Ich konnte im Browser (IE9 RC) keinen Unterschied feststellen. Andere Browser werden sich warscheinlich genauso verhalten; oder etwa nicht?

Javascript extern ist meist eine gute Idee. Allerdings erzeuge ich mit .NET einiges an Javascript während der Laufzeit. In dem Fall ist es einfacher mit Inline-Script zu arbeiten und in den Output-Stream zu schreiben, anstatt das erzeugte Javascript erst auf die Platte zu speichern und dann auszuliefern. Das dauert mir zu lange icon_smile.gif

Servus,
Klaus

klaus_b@.NET über alles was an .NET und C# Spass macht.
http://www.seitenreport.de/twitter_icon_small.png
 
Verfasst am: 05. 03. 2011 [15:53]
Raptor
Dabei seit: 10.05.2009

1159 Beiträge
Beitrag hilfreich?

"klaus_b" schrieb:

gibt es heutzutage noch eine Begründung für die umschließenden comment-tags um einen Javascriptblock?

Jein.

JavaScript ist kein (X)HTML und muss daher irgendwie vom (X)HTML-Code differenziert werden.

In HTML macht man das normalerweise mit einem Kommentarblock <!-- --> und in XHTML mit <![CDATA[ ]]>. Wobei die Wahl nichts mit dem Doctype zu tun hat, sondern mit dem Parser.

Folgendes Beispiel ist ungültig:
HTML
<script type="text/javascript">
if(a < b) c = d;
</script>

Die Zeichenfolge "< b)" ist ungültiges (X)HTML.
Hier müsste man den JavaScript-Code unschädlich machen
HTML
<script type="text/javascript">
<!--
if(a < b) c = d;
-->
</script>

Und schon hat man gültiges HTML.

Aber dieser JavaScript-Block würde in XHTML nicht funktionieren, weil Kommentare vom XML-Parser rausgespickt werden. In X(HT)ML muss man Fremdcode in CDATA-Blöcke setzen:
HTML
<script type="text/javascript">
<![CDATA[
if(a < b) c = d;
]]>
</script>

Jetzt hat man korrektes X(HT)ML. Ein paar HTML-Parser haben aber wieder Probleme mit dem "HTML"-Code im CDATA oder verstehen's einfach nicht. Da macht man am besten einfach ein Kommentar-Block in den CDATA-Block.
HTML
<script type="text/javascript">
<![CDATA[<!--
if(a < b) c = d;
-->]]>
</script>


Jetzt gibt es noch die komischen Parser, die das "<![CDATA[<!--" zum JavaScript-Code zählen und entsprechend fehlerhaftes JavaScript erzeugen.
Deshalb fasst man es in einen JavaScript-Kommentar:
HTML
<script type="text/javascript">
/*<![CDATA[<!--*/
if(a < b) c = d;
/*-->]]>*/
</script>

Jetzt ist alles OK.

Bei folgendem Beispiel braucht es aber keine Kommentar-Blöcke:
HTML
<script type="text/javascript">
if(a == b) c = d;
</script>

... weil es keine HTML/XHTML/XML-Steuerzeichen enthält.

 
Verfasst am: 05. 03. 2011 [16:12]
klaus_b
Dabei seit: 17.12.2009
Themenersteller

327 Beiträge
Beitrag hilfreich?

Hallo Flo,

zur selben Erkenntnis bin ich auch gerade gelangt.
Ich habe in einem Scriptblock eine && Bedingung und schon war Essig mit validem Code icon_redface.gif

Ich werde die Scriptblöcke auch weiterhin in einen CDATA-Block einschließen.

Danke euch beiden für die Anregungen.
Servus,
Klaus

klaus_b@.NET über alles was an .NET und C# Spass macht.
http://www.seitenreport.de/twitter_icon_small.png
 
Verfasst am: 08. 03. 2011 [18:35]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

Fantastische Herleitung.

in diesem Moment habe ich sie schon verwenden müssen/wollen.
Problem war, das ich im js url "&" schrieb.

3 fach kommented nach methode flo, alles wieder Roger

26.gif
 
Verfasst am: 09. 03. 2011 [09:00]
klaus_b
Dabei seit: 17.12.2009
Themenersteller

327 Beiträge
Beitrag hilfreich?

"romacron" schrieb:

Problem war, das ich im js url "&" schrieb.

Warum musst du da ein "&" schreiben, wenn es doch ein "&amp;" auch tut? In URLs kann IMO immer die Entität &amp; verwendet werden.

Servus,
Klaus


klaus_b@.NET über alles was an .NET und C# Spass macht.
http://www.seitenreport.de/twitter_icon_small.png
 
Verfasst am: 09. 03. 2011 [09:58]
romacron
Dabei seit: 01.11.2009

1143 Beiträge
Beitrag hilfreich?

Okay
hatt ich nich ganz präzise ausgeführt.

es ist für ajax die & sind universelle Steuersignale die theoretisch auch urls sein können. ein & ohne amp hat weniger daten(ich spare gern)

 




Du bist nicht eingeloggt. Bitte beachte, dass Du eingeloggt sein musst, um Themen zu erstellen oder auf Beiträge zu antworten.

RSS Feed abonnieren

Werde in Echtzeit über neue Foren-Beiträge informiert:



0 Mitglieder waren innerhalb der letzten 15 Minuten online (24 heute gesamt):
[keine]

Administratoren und Moderatoren:
[keine]

Seitenreport hat 18136 registrierte Mitglieder, 3002 Themen und 29106 Beiträge.
Der aktuelle Mitgliederzuwachs liegt bei durchschnittlich 12 bestätigten Neuregistrierungen pro Tag.
Pro Tag werden im Seitenreport Forum durchschnittlich 1 neues Thema und 8 Beiträge erstellt.
Die Durchschnittszahlen berechnen sich aus den letzten 7 Tagen.

Mehrfach empfohlen

Seitenreport ist einer der bekanntesten SEO und Website Analyse Dienste im deutschsprachigen Raum und wurde u.a. schon empfohlen:
von Mr. Wong im Wong Letter
vom Leserservice der Deutschen Post
vom Technik Blog SiN
und vielen anderen

Partnerprogramm

12% Lifetime Provision auf alle Buchungen von Dir geworbener Mitglieder sowie 0,50 € für jede Registrierung. Eines der besten deutschen Partnerprogramme laut den appCharts von 100partnerprogramme.de. Nimm jetzt teil am Seitenreport Partnerprogramm und verdiene gutes Geld dabei!

* = Partnerlinks