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