xhtml - script und style und link
adem
- html
Guten Mittag,
ich verwende seit kurzem XHTML-Strict.
Da ich vor kurzem feststellen musste, dass ich ein <script src="" type="text/javascript"> nicht wie gedacht mit /> schließen kann, wegen einem Browser, sondern mit </script> - was vermutlich noch nichts mit XHTML-Stict zu tun hat - wollte ich hier mal gleich im vorneherein ein Paar Regeln erfragen?
Darf in meinem verwendeten Doctype:
Des Weiteren wollte ich fragen, wie es mit dem auskommentieren von soetwas aussieht
<script type="text/javascript">
<!--
javascript_funktionen();
-->
</script>
Muss man den Javascript-code auskommentieren, um ihn vor nicht Javascript-fähigen Browsern zu verstecken?
Muss man das dann mit css-sytel-Blöcke auch?
Gruß
Hi,
Darf in meinem verwendeten Doctype:
- script nur im head auftauchen?
nein, auch an den meisten Stellen im <body>.
- script wirklich nur mit </script> geschlossen werden?
Wie Du schon vermutest, liegt das weniger am DOCTYPE als am Browser.
- link mit /> geschlossen werden?
Theoretisch könntest Du auch </link> verwenden - aber wer will das schon? :-)
- <style> nur im head auftauchen?
Ja.
<script type="text/javascript">
<!--
Nope, das kannst Du machen, wenn Du noch etwas für Netscape 4 schreibst. Verwende <![CDATA[ ... ]]>.
-->
Dies kann übrigens in einem JavaScript-Fehler resultieren.
Muss man den Javascript-code auskommentieren, um ihn vor nicht Javascript-fähigen Browsern zu verstecken?
Nein, um die darin enthaltenen "&"-, "<"- usw. -Zeichen nicht kodieren zu müssen.
Muss man das dann mit css-sytel-Blöcke auch?
Nein.
Cheatah
Darf in meinem verwendeten Doctype:
- script nur im head auftauchen?
nein, zb auch im body
- script wirklich nur mit </script> geschlossen werden?
jein - <script type="text/javascript" src="foo" /> ist auch möglich, allerdings mögen das manche browser nicht
- link mit /> geschlossen werden?
jein
<link></link> ist auch möglich, allerdings sind einige browser dagegen und akzeptieren nur <link />
es spricht auch nichts gegen die schreibweise <div /> anstatt <div></div> oder <br></br> anstatt <br /> aber mit diesen aus der norm fallenden schreibweisen machst du machne browser eben nicht ganz glücklich
- <style> nur im head auftauchen?
ja, darf nur im head auftauchen
Muss man den Javascript-code auskommentieren, um ihn vor nicht Javascript-fähigen Browsern zu verstecken?
jein, du musst sie ansich lediglich als cdata-bereich kennzeichnen aber nicht unbedingt auskommentieren
Muss man das dann mit css-sytel-Blöcke auch?
dito
in beiden fällen ist es besser, wenn du die ressoucen auslagerst - einerseits sparst du dir arbeit, anderers kopfzerbechen über ggf alte browser die etwas falsch darstellen könnten ;)
@@suit:
Darf in meinem verwendeten Doctype:
- script nur im head auftauchen?
nein, zb auch im body
„zb“?? Hättest du außer „im head“ und „im body“ noch ein Beispiel parat? ;-)
- script wirklich nur mit </script> geschlossen werden?
jein - <script type="text/javascript" src="foo" /> ist auch möglich, allerdings mögen das manche browser nicht
„Manche“ sind so viele, dass ich das Jein in Nein ändern würde.
es spricht auch nichts gegen die schreibweise <div /> anstatt <div></div>
Doch. Tagsoup-Parsern fehlte das End-Tag:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<html
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="und" lang="und"
>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>TEST</title>
<style type="text/css">
[code lang=css]body {background: white}
div {background: yellow}
</style>
</head>
<body>
<div/>
<p>Lorem ipsum dolor sit amet.</p>
</body>
</html>[/code]
"Lorem ipsum dolor sit amet." erscheint auf gelbem Grund; dürfte aber nicht.
Live long and prosper,
Gunnar
„zb“?? Hättest du außer „im head“ und „im body“ noch ein Beispiel parat? ;-)
ja, zb auch in div-elementen ;)
„Manche“ sind so viele, dass ich das Jein in Nein ändern würde.
sind eh schon 75% von nein (ein) und nur 50% von ja (j) :p
Doch. Tagsoup-Parsern fehlte das End-Tag:
ja, aber es ist gemäß der dtd erlaubt ;) - darum auch der hinweis, dass das manche browser nicht ganz glücklich macht
@@suit:
„zb“?? Hättest du außer „im head“ und „im body“ noch ein Beispiel parat? ;-)
ja, zb auch in div-elementen ;)
Ich dachte, die wären dann „im body“. So kann man sich täuschen. ;-)
Doch. Tagsoup-Parsern fehlte das End-Tag:
ja, aber es ist gemäß der dtd erlaubt ;) - darum auch der hinweis, dass das manche browser nicht ganz glücklich macht
„Manche“ sind so viele, dass ich „manche“ in „alle“ ändern würde.
Live long and prosper,
Gunnar
ja, zb auch in div-elementen ;)
Ich dachte, die wären dann „im body“. So kann man sich täuschen. ;-)
ich meinte damit direkt als kind von body und nicht als nachfahre
„Manche“ sind so viele, dass ich „manche“ in „alle“ ändern würde.
ja aber "nicht alle" sind ja ungleich "alle" - also kannst du das nicht einfach auf alle ändern ;)
@@suit:
ich meinte damit direkt als kind von body und nicht als nachfahre
Soso, wenn du „im Haus meinst“, schließt du „im Zimmer“ damit aus?
„Manche“ sind so viele, dass ich „manche“ in „alle“ ändern würde.
ja aber "nicht alle" sind ja ungleich "alle" - also kannst du das nicht einfach auf alle ändern ;)
Magst du mir ein Beispiel nennen, das „alle“ nicht rechtfertigen würde?
Live long and prosper,
Gunnar
Hi,
es spricht auch nichts gegen die schreibweise <div /> anstatt <div></div>
Doch. Tagsoup-Parsern fehlte das End-Tag:
das Problem darf ignoriert werden, weil inhaltsleere <div>-Elemente nicht vorkommen können.
Cheatah ;-)
[latex]Mae govannen![/latex]
ich verwende seit kurzem XHTML-Strict.
[...]
Darf in meinem verwendeten Doctype:
- script nur im head auftauchen?
- script wirklich nur mit </script> geschlossen werden?
Ja
- link mit /> geschlossen werden?
Ja (letzter Satz bei "Beachten Sie" des ersten Abschnittes)
- <style> nur im head auftauchen?
Muss man den Javascript-code auskommentieren, um ihn vor nicht Javascript-fähigen Browsern zu verstecken?
Muss man das dann mit css-sytel-Blöcke auch?
http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style
Ich würde gerade unter XHTML grundsätzlich separate Dateien für Javascript empfehlen, und für CSS wäre es auch sinnvoll.
Cü,
Kai
Darf in meinem verwendeten Doctype:
- script wirklich nur mit </script> geschlossen werden?
Ja
nein - entsprechend der dtd ist es wurscht ob man <script /> oder <script></script> schreibt - allerdings sind da manche browser dagegen
- link mit /> geschlossen werden?
Ja (letzter Satz bei "Beachten Sie" des ersten Abschnittes)
was da steht, stimmt schon - beantwortet die frage aber unvollständig, da es gemäß der dtd auch mit <link></link> als inhaltsleer gilt - manche alte browser mögen das aber sicher nicht ;)
[latex]Mae govannen![/latex]
Darf in meinem verwendeten Doctype:
- script wirklich nur mit </script> geschlossen werden?
Ja
nein - entsprechend der dtd ist es wurscht ob man <script /> oder <script></script> schreibt - allerdings sind da manche browser dagegen
- link mit /> geschlossen werden?
Ja (letzter Satz bei "Beachten Sie" des ersten Abschnittes)
was da steht, stimmt schon - beantwortet die frage aber unvollständig, da es gemäß der dtd auch mit <link></link> als inhaltsleer gilt - manche alte browser mögen das aber sicher nicht ;)
Ja, ist mir bekannt und auch, daß meine Aussage dadurch halbwahr ist. Aber ich bin durch und durch ein praktisch und pragmatisch denkender Mensch. Da der OP schon in seinem anderen Thread festgestellt hat, daß <script ... /> Probleme macht, halte ich die _rein theoretische_ Validität einer bestimmten Schreibweise, die man in der Praxis aber nicht anwenden kann, ganz einfach für ein Muster ohne Wert.
Cü,
Kai
Hallo,
halte ich die _rein theoretische_ Validität einer bestimmten Schreibweise, die man in der Praxis aber nicht anwenden kann, ganz einfach für ein Muster ohne Wert.
Mich wundert, dass hier in 11 Postings niemand darauf hinweist, dass die Ursache dieser Verwirrungen der Unterschied zwischen der Verarbeitung als XML und der Verarbeitung als HTML (Tag-Soup) ist. Es scheint mir, als wäre das dem Fragenden noch nicht klar.
Stattdessen wird herumgeeiert, als läge es an Theorie vs. Praxis, Validität vs. Inkorrektheit oder alte Browser vs. neue Browser.
Dabei ist es doch viel einfacher: XHTML ist eine Sprache, die zwei Gesichter hat bzw. Teil von zwei Welten ist. Üblicherweise will man im Browser eine Verarbeitung als HTML (HTML-kompatibles XHTML). In diesem Verarbeitungsmodus funktioniert gewisse XML-Syntax nicht, nur daher muss man bestimmte Schreibweisen beachten.
Mathias
@@molily:
Mich wundert, dass hier in 11 Postings niemand darauf hinweist, dass die Ursache dieser Verwirrungen der Unterschied zwischen der Verarbeitung als XML und der Verarbeitung als HTML (Tag-Soup) ist.
?? Ich dachte, das hätte ich getan.
Live long and prosper,
Gunnar
Hallo,
Ich dachte, das hätte ich getan.
Gut, dann will ich mal hoffen, dass jeder versteht, was mit Tagsoup-Parsern gemeint ist.
Mathias
Hallo,
wurscht ob man <script /> oder <script></script> schreibt - allerdings sind da manche browser dagegen (...)
<link></link> (...) manche alte browser mögen das aber sicher nicht ;)
Das hat doch nichts damit zu tun, ob ein Browser älter oder neuer ist. Sondern damit, dass das Verarbeiten des XHTML-Dokuments mit dem HTML-Parser nach gewissen Regeln verläuft, die diese XML-Syntax nicht beachten/umsetzen.
Ein Browser, der im HTML-Verarbeitungsmodus <script /> äquivalent zu <script></script> behandelt, ist nicht »neu«, sondern wäre schlicht kaputt und unbrauchbar.
Mathias