Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Javascript beim Laden ausführen in KHTML

49 views
Skip to first unread message

Hannes Kuhnert

unread,
Dec 6, 2011, 7:15:58 AM12/6/11
to
Gelegentlich möchte man beim Laden eines Dokuments automatisch eine
Javascript-Funktion aufrufen lassen.

An sich gibt es dafür die Eigenschaft „onload“ des Body-Elements. Die kann
ich auf der eigentlich bearbeiteten Seite durch die Beschränkungen des CMS
nicht nutzen. Deshalb habe ich anderes probiert. Dabei wunderte mich das
Verhalten von KHTML 4.7.3.

Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen dreien
kommt
window.onload = function(){ alert("geladen"); }
zum Einsatz.

Mit der Funktion direkt im Skript-Element funktioniert es:
<http://hannes-kuhnert.de/tmp/jstest/eins.xhtml>

Mit
<script src="test.js" type="text/javascript" />
im Kopf funktioniert es nicht:
<http://hannes-kuhnert.de/tmp/jstest/zwei.xhtml>

Formal abgewandelt geht es dagegen:
<script src="test.js" type="text/javascript"><script/>
<http://hannes-kuhnert.de/tmp/jstest/drei.xhtml>

Ist der direkt geschlossene Tag in Beispiel zwei etwa technisch nicht in
Ordnung? In anderen Browsern funktioniert es jedenfalls.
--
Hannes Kuhnert, Chemnitz

Martin Honnen

unread,
Dec 6, 2011, 8:20:05 AM12/6/11
to
Hannes Kuhnert wrote:

> An sich gibt es dafür die Eigenschaft „onload“ des Body-Elements. Die kann
> ich auf der eigentlich bearbeiteten Seite durch die Beschränkungen des CMS
> nicht nutzen. Deshalb habe ich anderes probiert. Dabei wunderte mich das
> Verhalten von KHTML 4.7.3.
>
> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen dreien
> kommt
> window.onload = function(){ alert("geladen"); }
> zum Einsatz.
>
> Mit der Funktion direkt im Skript-Element funktioniert es:
> <http://hannes-kuhnert.de/tmp/jstest/eins.xhtml>
>
> Mit
> <script src="test.js" type="text/javascript" />
> im Kopf funktioniert es nicht:
> <http://hannes-kuhnert.de/tmp/jstest/zwei.xhtml>
>
> Formal abgewandelt geht es dagegen:
> <script src="test.js" type="text/javascript"><script/>
> <http://hannes-kuhnert.de/tmp/jstest/drei.xhtml>
>
> Ist der direkt geschlossene Tag in Beispiel zwei etwa technisch nicht in
> Ordnung? In anderen Browsern funktioniert es jedenfalls.

Als application/xhtml+xml ausgeliefert und deshalb mit einem XML-Parser
verarbeitet sollte das funktionieren, so der Browser mit
application/xhtml+xml etwas anfangen kann; IE 6-8 können das nicht. Mit
KHTML kenne ich mich nicht aus.

--

Martin Honnen --- MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/

Thomas 'PointedEars' Lahn

unread,
Dec 6, 2011, 8:26:27 AM12/6/11
to
Hannes Kuhnert wrote:

> Gelegentlich möchte man beim Laden eines Dokuments automatisch eine
> Javascript-Funktion aufrufen lassen.

Es gibt kein "Javascript" [0].

> An sich gibt es dafür die Eigenschaft „onload“ des Body-Elements.

Das ist dort keine Eigenschaft, sondern ein Attribut. Der Elementtypname
ist `BODY' (HTML) oder `body' (XHTML), nicht `Body'.

> Die kann
> ich auf der eigentlich bearbeiteten Seite durch die Beschränkungen des CMS
> nicht nutzen. Deshalb habe ich anderes probiert. Dabei wunderte mich das
> Verhalten von KHTML 4.7.3.
>
> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen dreien
> kommt
> window.onload = function(){ alert("geladen"); }

Das ist die onload-Eigenschaft des mit `window' referenzierten Objekts.
Elemente haben *Attribute*, Objekte haben *Eigenschaften*. (Und Interfaces
haben auch Attribute, die als Eigenschaften implementiert werden, aber das
führt hier zu weit.)

> zum Einsatz.
>
> Mit der Funktion direkt im Skript-Element funktioniert es:
> <http://hannes-kuhnert.de/tmp/jstest/eins.xhtml>
>
> Mit
> <script src="test.js" type="text/javascript" />
> im Kopf funktioniert es nicht:
> <http://hannes-kuhnert.de/tmp/jstest/zwei.xhtml>
>
> Formal abgewandelt geht es dagegen:
> <script src="test.js" type="text/javascript"><script/>

Das ist kein gültiges Markup [1].

> <http://hannes-kuhnert.de/tmp/jstest/drei.xhtml>
>
> Ist der direkt geschlossene Tag in Beispiel zwei etwa technisch nicht in
> Ordnung?

Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
verwenden [2]. In XHTML ist das von besonderer Bedeutung, da XHTML auch von
Parsern verarbeitet werden kann, die XHTML nicht unterstützen [3]. In HTML
ist

<script src="test.js" type="text/javascript"><script/>…/

gleichbedeutend mit

<script src="test.js" type="text/javascript"><script>&gt;…</script>

[4].

> In anderen Browsern funktioniert es jedenfalls.

Das liegt einerseits daran, dass diese XHTML unterstützen, und vor ersterer
Syntax nicht warnen, und andererseits daran, dass sie Dein ungültiges

<script src="test.js" type="text/javascript"><script/>…/

als

<script src="test.js" type="text/javascript"><script>&gt;…</script>

oder

<script src="test.js" type="text/javascript"></script><script></script>

parsen. IOW: Reiner Zufall.

RTFM.


PointedEars
___________
[0] <http://PointedEars.de/es-matrix>
[1] <http://validator.w3.org/>
[2] <http://www.w3.org/TR/REC-xml/#sec-starttags>
[3] <http://www.w3.org/TR/xhtml-media-types/#compatGuidelines>
[4] <http://www.w3.org/TR/html401/appendix/notes.html#h-B.3.3>
--
We've never done a piece of software unless we thought it would sell.

(Bill Gates in FOCUS no. 43, October 23, 1995, pages 206-212)

Hannes Kuhnert

unread,
Dec 6, 2011, 9:18:27 AM12/6/11
to
Thomas 'PointedEars' Lahn schrieb:

> Hannes Kuhnert wrote:
>
>> Gelegentlich möchte man beim Laden eines Dokuments automatisch eine
>> Javascript-Funktion aufrufen lassen.
>
> Es gibt kein "Javascript" [0].

Ich weiß. Ich hatte es bewusst so, ohne Binnenmajuskel, als generischen
Begriff gebraucht.

„ECMAScript-Implementationen“ ist ein schöner Begriff, aber hast du auch
einen alternativen Formulierungsvorschlag für meinen obigen Satz?

>> An sich gibt es dafür die Eigenschaft „onload“ des Body-Elements.
>
> Das ist dort keine Eigenschaft, sondern ein Attribut. Der Elementtypname
> ist `BODY' (HTML) oder `body' (XHTML), nicht `Body'.

Ich glich „body“ absichtlich der deutschen Rechtschreibung an.

>> Die kann ich auf der eigentlich bearbeiteten Seite durch die
>> Beschränkungen des CMS nicht nutzen. Deshalb habe ich anderes probiert.
>> Dabei wunderte mich das Verhalten von KHTML 4.7.3.
>>
>> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen
>> dreien kommt
>> window.onload = function(){ alert("geladen"); }
>
> Das ist die onload-Eigenschaft des mit `window' referenzierten Objekts.
> Elemente haben *Attribute*, Objekte haben *Eigenschaften*.

Wer kam auf die Idee, an dieser Stelle zwei verschiedene Begriffe „Attribut“
und „Eigenschaft“ einzuführen? Hat diese Verwendung der beiden Wörter eine
Grundlage in den Wörtern an sich? Mal grundsätzlich gesehen, ohne EDV-Bezug,
fällt es mir schwer, „Attribut“ und „Eigenschaft“ zu unterscheiden.

>> Mit
>> <script src="test.js" type="text/javascript" />
>> im Kopf funktioniert es nicht:
>> <http://hannes-kuhnert.de/tmp/jstest/zwei.xhtml>
>>
>> Formal abgewandelt geht es dagegen:
>> <script src="test.js" type="text/javascript"><script/>
>
> Das ist kein gültiges Markup [1].

Huch – natürlich nicht, das war ein Schreibfehler in meinem Posting! Ich
hatte leichtsinnigerweise nicht aus der Originaldatei, sondern aus dem
Artikel vom anderen Beispiel kopiert. Im hochgeladenen Beispiel stand es
stets richtig:
<script src="test.js" type="text/javascript"></script>

>> <http://hannes-kuhnert.de/tmp/jstest/drei.xhtml>
>>
>> Ist der direkt geschlossene Tag in Beispiel zwei etwa technisch nicht in
>> Ordnung?
>
> Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
> PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
> verwenden [2]. […]

Danke für die Aufklärung!
--
Hannes Kuhnert, Chemnitz

Holger Jeromin

unread,
Dec 6, 2011, 11:40:13 AM12/6/11
to
Hannes Kuhnert schrieb am 06.12.2011 15:18:
> Thomas 'PointedEars' Lahn schrieb:
>> Hannes Kuhnert wrote:
>>> Die kann ich auf der eigentlich bearbeiteten Seite durch die
>>> Beschränkungen des CMS nicht nutzen. Deshalb habe ich anderes probiert.
>>> Dabei wunderte mich das Verhalten von KHTML 4.7.3.
>>>
>>> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen
>>> dreien kommt
>>> window.onload = function(){ alert("geladen"); }
>>
>> Das ist die onload-Eigenschaft des mit `window' referenzierten Objekts.
>> Elemente haben *Attribute*, Objekte haben *Eigenschaften*.
> Wer kam auf die Idee, an dieser Stelle zwei verschiedene Begriffe „Attribut“
> und „Eigenschaft“ einzuführen? Hat diese Verwendung der beiden Wörter eine
> Grundlage in den Wörtern an sich? Mal grundsätzlich gesehen, ohne EDV-Bezug,
> fällt es mir schwer, „Attribut“ und „Eigenschaft“ zu unterscheiden.

Ein Attribut ist es ein (X)HTML Ding, ist also der Nomenklatur von SGML
oder XML unterworfen. Das ist eine rein textuelle Beschreibung.

Eigenschaften sind in einer Programmiersprache angesiedelt. Sie sind
"Anhängsel" eines Objektes innerhalb des JS-Interpreters.
Dieses Objekt wurde aus der textuellen Beschreibung generiert, hat damit
aber nicht viel zu tun.

>> Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
>> PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
>> verwenden [2]. […]
>> IOW: Reiner Zufall.

Welcher mit den Regeln eines HTML5 Parsers ordentlich definiert wurde
(Wobei ich nicht weiss, ob dieser spezielle Fall auch festgeschrieben
wurde).

Heute ist mit Opera 11.60 der letzte der großen Browser auf ein HTML5
Parser umgestiegen. Aber KTHML 4.7.3 hat wahrscheinlich noch keinen
HTML5 konformen Parser.

--
Grüße
Holger Jeromin

Martin Honnen

unread,
Dec 6, 2011, 1:43:08 PM12/6/11
to
Holger Jeromin wrote:

>>> Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
>>> PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
>>> verwenden [2]. […]
>>> IOW: Reiner Zufall.
>
> Welcher mit den Regeln eines HTML5 Parsers ordentlich definiert wurde
> (Wobei ich nicht weiss, ob dieser spezielle Fall auch festgeschrieben
> wurde).

Der "Zufall" mag ja mit HTML5 ordentlich definiert sein, aber wenn ich
<URL:http://livedom.validator.nu/?%3C!DOCTYPE%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%3Ctitle%3ETesting%20script%20markup%3C%2Ftitle%3E%0A%3Cscript%20type%3D%22text%2Fjavascript%22%20src%3D%22script%22%2F%3E%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%3Ch1%3ETest%3C%2Fh1%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E>
richtig interpretiere, dann ist auch mit einem HTML5-Parser die
Verwendung von
<script type="text/javascript" src="script"/>
nicht zu empfehlen, denn dabei wird nun der Slash "/" ignoriert und dann
der Rest des Dokumentes (bis zu einem schliessendem </script>, aber das
existiert ja nicht) dem "script"-Element als Inhalt gegeben.

Also mit dem Markup

<!DOCTYPE html>
<html>
<head>
<title>Testing script markup</title>
<script type="text/javascript" src="script"/>
</head>
<body>
<h1>Test</h1>
</body>
</html>



sieht der DOM-Baum dann so aus:

HTML
HEAD
#text:
TITLE
#text: Testing script markup
#text:
script type="text/javascript" src="script"
#text: </head> <body> <h1>Test</h1> </body> </html>
BODY

Thomas 'PointedEars' Lahn

unread,
Dec 6, 2011, 2:22:29 PM12/6/11
to
Hannes Kuhnert wrote:

> Thomas 'PointedEars' Lahn schrieb:
>> Hannes Kuhnert wrote:
>>> Gelegentlich möchte man beim Laden eines Dokuments automatisch eine
>>> Javascript-Funktion aufrufen lassen.
>> Es gibt kein "Javascript" [0].
>
> Ich weiß. Ich hatte es bewusst so, ohne Binnenmajuskel, als generischen
> Begriff gebraucht.

Dass und weshalb es ein häufiges Missverständnis ist, dass das dann OK sei,
weisst Du jetzt sicher.

> „ECMAScript-Implementationen“ ist ein schöner Begriff, aber hast du auch
> einen alternativen Formulierungsvorschlag für meinen obigen Satz?

"JavaScript-Funktion" ist korrekt und für diese Diskussion ausreichend,
solange Du Dir darüber im Klaren bist, dass und weshalb das eine
einschränkende Bezeichnung ist.

>>> An sich gibt es dafür die Eigenschaft „onload“ des Body-Elements.
>> Das ist dort keine Eigenschaft, sondern ein Attribut. Der Elementtypname
>> ist `BODY' (HTML) oder `body' (XHTML), nicht `Body'.
>
> Ich glich „body“ absichtlich der deutschen Rechtschreibung an.

Autsch.

>>> Die kann ich auf der eigentlich bearbeiteten Seite durch die
>>> Beschränkungen des CMS nicht nutzen. Deshalb habe ich anderes probiert.
>>> Dabei wunderte mich das Verhalten von KHTML 4.7.3.
>>>
>>> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen
>>> dreien kommt
>>> window.onload = function(){ alert("geladen"); }
>>
>> Das ist die onload-Eigenschaft des mit `window' referenzierten Objekts.
>> Elemente haben *Attribute*, Objekte haben *Eigenschaften*.
>
> Wer kam auf die Idee, an dieser Stelle zwei verschiedene Begriffe
> „Attribut“ und „Eigenschaft“ einzuführen?

Gute Frage!

Der Begriff "Attribut" ("attribute") für die einem Element einer
Auszeichnungssprache zugeordneten Daten hat ihren Ursprung spätestens im
SGML-Standard (1990/1991) [1]. Tim Berners-Lee übernahm ihn 1992 für das
SGML-basierte HTML [2a], das W3C – dessen Director er ist [2b] –
entsprechend für alle SGML-basierten Auszeichnungssprachen, die später
entstanden.

1995/1996 führte Brendan Eich mit der Programmiersprache JavaScript den
Begriff "Eigenschaft" ("property") ein [3]; diesen übernahm er
möglicherweise aus Self [4a, 4b], aber da bin ich noch nicht sicher (meine
Forschung zu den JavaScript-Hintergründen steht noch am Anfang). Die
Bezeichnung wurde auch von Microsoft für JScript übernommen [5] und ein Jahr
später (1997) in der ersten Edition der ECMAScript Language Specification
[6] formalisiert.

> Hat diese Verwendung der beiden Wörter eine Grundlage in den Wörtern an
> sich?

Ja.

> Mal grundsätzlich gesehen, ohne EDV-Bezug, fällt es mir schwer, „Attribut“
> und „Eigenschaft“ zu unterscheiden.

Das geht vielen so; die Unterscheidung ist hier aber zwingend erforderlich
(das hat schliesslich auch John Resig – seines Zeichens jQuery-Verbre^WAutor
– einsehen müssen, auch wenn er es nie zugeben würde, und er im Unterschied
zu anderen fast ein Jahrzehnt für diese banale Erkenntnis gebraucht hat
[7]).

>>> Mit
>>> <script src="test.js" type="text/javascript" />
>>> im Kopf funktioniert es nicht:
>>> <http://hannes-kuhnert.de/tmp/jstest/zwei.xhtml>
>>>
>>> Formal abgewandelt geht es dagegen:
>>> <script src="test.js" type="text/javascript"><script/>
>>
>> Das ist kein gültiges Markup [1].
>
> Huch – natürlich nicht, das war ein Schreibfehler in meinem Posting! […]

ACK.

>>> <http://hannes-kuhnert.de/tmp/jstest/drei.xhtml>
>>> Ist der direkt geschlossene Tag in Beispiel zwei etwa technisch nicht in
>>> Ordnung?
>>
>> Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
>> PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
>> verwenden [2]. […]
>
> Danke für die Aufklärung!

Gern geschehen.


PointedEars
___________
[1]
<http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=16387>
[2a] <http://www.w3.org/History/19921103-
hypertext/hypertext/WWW/MarkUp/Tags.html>
[2b] <http://www.w3.org/People/Berners-Lee/>
[3] <http://e-pla.net/documents/manuals/javascript-1.0/>
[4a] <http://de.wikipedia.org/wiki/Self_(Programmiersprache)>
[4b] <http://selflanguage.org/>
[5] <http://msdn.microsoft.com/en-us/library/xyad316h(VS.84).aspx>
[6] <http://www.mozilla.org/js/language/E262.pdf>
[7] <http://blog.jquery.com/2011/05/12/jquery-1-6-1-released/>
--
Programmieren in C++ haelt die grauen Zellen am Leben. Es schaerft
alle fuenf Sinne: den Schwachsinn, den Bloedsinn, den Wahnsinn,
den Unsinn und den Stumpfsinn. -- Holger Veit in doc

Thomas 'PointedEars' Lahn

unread,
Dec 6, 2011, 2:50:00 PM12/6/11
to
Holger Jeromin wrote:

> Hannes Kuhnert schrieb am 06.12.2011 15:18:
>> Thomas 'PointedEars' Lahn schrieb:
>>> Hannes Kuhnert wrote:
>>>> Die kann ich auf der eigentlich bearbeiteten Seite durch die
>>>> Beschränkungen des CMS nicht nutzen. Deshalb habe ich anderes probiert.
>>>> Dabei wunderte mich das Verhalten von KHTML 4.7.3.
>>>>
>>>> Ich habe es mal auf drei kleine Beispiele runtergebrochen. In allen
>>>> dreien kommt
>>>> window.onload = function(){ alert("geladen"); }
>>>
>>> Das ist die onload-Eigenschaft des mit `window' referenzierten Objekts.
>>> Elemente haben *Attribute*, Objekte haben *Eigenschaften*.
>> Wer kam auf die Idee, an dieser Stelle zwei verschiedene Begriffe
>> „Attribut“ und „Eigenschaft“ einzuführen? Hat diese Verwendung der beiden
>> Wörter eine Grundlage in den Wörtern an sich? Mal grundsätzlich gesehen,
>> ohne EDV-Bezug, fällt es mir schwer, „Attribut“ und „Eigenschaft“ zu
>> unterscheiden.
>
> Ein Attribut ist es ein (X)HTML Ding, ist also der Nomenklatur von SGML
> oder XML unterworfen. Das ist eine rein textuelle Beschreibung.
>
> Eigenschaften sind in einer Programmiersprache angesiedelt. Sie sind
> "Anhängsel" eines Objektes innerhalb des JS-Interpreters.

Lös Dich bitte endlich mal von der naiven Vorstellung, dass es einen "JS-
Interpreter" gäbe (der Quelltext interpretiert). Script-Engines in Browsern
compilieren ECMAScript-basierten Quelltext zu Bytecode (z. B. SpiderMonkey)
oder sogar direkt ausführbaren Maschinencode (z. B. V8).

> Dieses Objekt wurde aus der textuellen Beschreibung generiert, hat damit
> aber nicht viel zu tun.

Dieses Objekt implementiert mit seinen Eigenschaften eine Schnittstelle zum
Markup-Element und seinen Attributen. Daher wird es auch Elementobjekt oder
(vereinfachend) DOM-Objekt genannt. Es hat also sehr viel mit dem Element,
zu tun, aus dem es generiert wurde.

>>> Ja. Das Inhaltsmodell des script-Elements ist _nicht_ EMPTY, sondern
>>> PCDATA. Daher wird davon abgeraten, hierfür die SHORTTAG-Syntax zu
>>> verwenden [2]. […]
>>> IOW: Reiner Zufall.
>
> Welcher mit den Regeln eines HTML5 Parsers ordentlich definiert wurde

HTML5 ist nicht SGML-basiert. Aber HTML < 5, und XHTML 1.0 über XML.

> (Wobei ich nicht weiss, ob dieser spezielle Fall auch festgeschrieben
> wurde).

Da keine Ausnahmen für script-Elemente gemacht werden, ja. Jedoch handelt
es sich um ein Working Draft.

Die vom Parser angenommenen Zustände wären in diesem Fall (in dieser
Reihenfolge) [1]:

- 8.2.4.1 Data state
- 8.2.4.8 Tag open state
- 8.2.4.10 Tag name state
- 8.2.4.43 Self-closing start tag state
- 8.2.4.1 Data state

Das ändert aber nichts daran, dass das inkompatibel zu HTML < 5 und XHTML
ist, und XHTML 1.0 Strict deklariert wurde.

> Heute ist mit Opera 11.60 der letzte der großen Browser auf ein HTML5
> Parser umgestiegen. Aber KTHML 4.7.3 hat wahrscheinlich noch keinen
> HTML5 konformen Parser.

Das ist grober Unfug. Hannes liefert *XHTML 1.0 Strict* als
*application/xhtml+xml* aus.


PointedEars
___________
[1] <http://www.w3.org/TR/html5/tokenization.html#data-state>
--
The Internet is filled with people trying to make a name for themselves by
breaking your code, crashing your site, posting inappropriate content, and
otherwise making your day interesting. (from: The PHP manual, 5. Security)

Thomas 'PointedEars' Lahn

unread,
Dec 6, 2011, 2:55:05 PM12/6/11
to
Martin Honnen wrote in de.comp.lang.javascript:
(Das wird jetzt off-topic.)

Entweder hat sich da seit dem von validator.nu implementierten WD etwas
geändert – [psf 10.1] –, oder der Parser von validator.nu arbeitet nicht
HTML5-konform (was immer das auch letztlich heissen mag). Siehe auch
<news:3170065.V...@PointedEars.de>.


X-Post & F'up2 <dciwam/>

PointedEars
--
OK, ist gut.
Du hast recht: Portscans sind böse, frech, und ganz äh-äh!
Braver Troll, hier hast Du ein SYN-Cookie! Brav!
(Volker Birk, einweisend°, <c8caiu$2je$03$7...@news.t-online.com>)

Holger Jeromin

unread,
Dec 7, 2011, 3:31:32 AM12/7/11
to
Thomas 'PointedEars' Lahn schrieb am 06.12.2011 20:50:
> Holger Jeromin wrote:
>> Heute ist mit Opera 11.60 der letzte der großen Browser auf ein HTML5
>> Parser umgestiegen. Aber KTHML 4.7.3 hat wahrscheinlich noch keinen
>> HTML5 konformen Parser.
> Das ist grober Unfug. Hannes liefert *XHTML 1.0 Strict* als
> *application/xhtml+xml* aus.

Ich hätte klarer hinschreiben sollen, dass ich diesen Teil meines
Postings allgemein schrieb, also nicht bezogen auf diesen Anwendungsfall.

"In Zukunft (mit html5 doctype und konformen Browsern) tauchen so
Unterschiede hoffentlich nicht mehr auf."

--
Grüße
Holger Jeromin

Thomas 'PointedEars' Lahn

unread,
Dec 7, 2011, 2:29:43 PM12/7/11
to
Wobei hier die Betonung auf "_HTML5_ doctype" liegen muss. Es ist durchaus
nicht so, dass neuere Browser plötzlich nur noch einen HTML5-Parser
implementieren würden – das wäre völlig unpraktisch. Und solange IE/MSHTML
nicht nachzieht (was er noch nicht getan hat, allem Marketinggewäsch
Microsofts zum Trotz), wird das sowieso nichts (die Alternative ist, das
IE/MSHTML von der Bildfläche verschwindet, was – leider – denn doch recht
unwahrscheinlich ist).

Wie lange ist HTML5 jetzt schon ein Working Draft? Wie viele offene Punkte
gibt es noch? Eben. Man sollte sich immer im Klaren sein, dass man bei
HTML5-Features *experimentelle* Features benutzt, die nicht mal zwischen den
neuesten Browserversionen kompatibel sind (aktuelles Beispiel aus der
Praxis: Firefox 8.0.1 und IE 9 können type="number" nicht mal ansatzweise,
Chrome 15 hingegen schon), und sich jederzeit ändern oder verschwinden
können. Siehe hierzu unter anderem auch <http://html5test.com/> und
<http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)>.


PointedEars
--
[FrontPage] Dann wechsle schnellstens zu Notpatsch.echse, dann mußt Du
alle Buchstaben selber eingeben und Dir auch bei jedem überlegen, ob
der dahingehört bzw. weggelassen werden kann.
(Georg Maaß in dcljs <b57nm8$25hka6$1...@ID-3551.news.dfncis.de>
0 new messages