Hallo Robert,
(aus der html-4.01.loose.dtd)
<!ENTITY % Script "CDATA">
<!ENTITY % events
[...]
onmouseover %Script; #IMPLIEDsowas muss ich mir noch anschauen. Davon werd ich noch nicht schlau.
Das Problem war, dass Christoph schrieb:
<div style="..." onmouseover="javascript:functionX()">Drüberfahren</div>
Das Attribut onmouseover ist laut http://www.w3.org/TR/html4/struct/global.html#h-7.5.4 im Element DIV erlaubt. Es hat laut http://www.w3.org/TR/html4/interact/scripts.html#adef-onmouseover Inhalt vom Typ Script data zu haben. Was Script data ist, wird laut http://www.w3.org/TR/html4/types.html#type-script in der DTD (Document Type Definition) für HTML in der Entity %SCRIPT http://www.w3.org/TR/html4/sgml/dtd.html#Script beschrieben. Dort steht, dass %SCRIPT CDATA http://www.w3.org/TR/html4/types.html#type-cdata zum Inhalt hat. Das ist laut http://www.w3.org/TR/html4/types.html#type-cdata "a sequence of characters from the document character set and may include character entities." Das würde auch "javascript:" einschließen.
ABER ;-))
In http://www.w3.org/TR/html4/types.html#type-script steht auch: "User agents must not evaluate script data as HTML markup but instead must pass it on as data to a script engine." Der Therm "must" ist das schärfste, was an Forderung kommen kann. Es bedeutet: Das, was als Script data übergeben wird, hat unbedingt von einer Script engine interpretiert zu werden, falls vorhanden natürlich ;-)). Weil aber "javascript:" _keine_ JavaScript-Anweisung ist, _kann_ der JavaScript-Interpreter damit normalerweise nichts anfangen. Es _könnte_ also sein, dass er eine Fehlermeldung ausgibt. Richtig wäre:
<div style="..." onmouseover="functionX();">Drüberfahren</div>
Wobei functionX() eine gültige, bereits definierte Funktion sein muss.
viele Grüße
Axel