| ## JavaScript/DOM
| Web-Seiten als Anwendungen JavaScript-Informationen

## Web-Seiten als Anwendungen

In HTML können Sie unter anderem Formulare definieren. Solche Formulare können Eingabefelder, Auswahllisten, Buttons usw. enthalten. Der Anwender kann ein Formular ausfüllen und über das Web absenden. Das ist für viele Zwecke eine segensreiche Erfindung. Doch HTML erlaubt Ihnen als Formularanbieter beispielsweise nicht, die Eingaben des Anwenders vor dem Absenden des Formulars auf Vollständigkeit und Plausibilität zu prüfen. Mit JavaScript ist das jedoch möglich.

Oder ein anderer Fall: Sie können in HTML zwar Multimedia-Dateien einbinden, aber wenn diese HTML-Datei im Web steht, können Sie nicht wissen, ob Ihre Seitenbesucher einen Browser besitzen, der das entsprechende Multimedia-Format anzeigen kann. Da wäre es praktisch, das Einbinden der Multimedia-Datei davon abhängig zu machen, ob der Browser des Anwenders das entsprechende Format anzeigen kann oder nicht. Auch so etwas ist mit JavaScript möglich.

Für diese und unzählige andere nützliche, allerdings auch weniger nützliche Zwecke erfand Netscape eine Programmiersprache namens JavaScript. Durch JavaScript können Web-Seiten, die mit Hilfe von HTML aus strukturiertem Text bestehen und mit CSS gestaltet sind, ihren reinen "Dokument-Charakter" aufgeben und eher wie Programme, wie Anwendungen wirken. JavaScript erlaubt es, Maus- und Tastatureingaben des Anwenders zu verarbeiten und darauf mit Bildschirmausgaben oder dynamischen Änderungen innerhalb der angezeigten Web-Seite zu reagieren. So lässt sich mit JavaScript beispielsweise ein HTML-Formular zu einem Zinseszinsberechner umfunktionieren. Der Anwender gibt ein paar Werte ein, JavaScript berechnet etwas und gibt das Ergebnis aus.

All diese Dinge laufen im Web-Browser des Anwenders ab, während eine Web-Seite am Bildschirm angezeigt wird. Es ist keine zusätzliche Kommunikation zwischen Web-Browser und Web-Server erforderlich. Wenn die Web-Seite zum Browser übertragen wurde und sich damit im Arbeitsspeicher des Anwender-Rechners befindet, sind JavaScripts, die in die Web-Seite integriert sind, lokal ausführbar. Damit Programmierer auf dem Rechner des Anwenders keinen Unfug treiben können, ist JavaScript allerdings in seinen Möglichkeiten stark beschränkt. Es ist mit JavaScript beispielsweise nicht möglich, mal eben eine Datei auf dem Rechner des Anwenders auszulesen oder diese gar zu löschen. Die Möglichkeiten von JavaScript sind auf das Umfeld der Web-Seite eingeschränkt, in die so ein Script eingebettet ist.

JavaScripts können Sie ebenso wie CSS Stylesheets direkt innerhalb von HTML-Dateien notieren oder wahlweise als separate Datei einbinden. Damit bezieht sich ein solches JavaScript auf die Seite, in die es eingebunden ist und kann auf das unmittelbare Umfeld und die Elemente dieser Seite zugreifen. Was den Zugriff auf Elemente einer HTML-Datei betrifft, muss man jedoch einen wichtigen Unterschied machen: mit klassischem JavaScript, wie es Netscape zunächst einführte, lässt sich nur auf bestimmte Elemente zugreifen, beispielsweise auf Formularelemente. Mittlerweile setzen sich jedoch Ansätze durch, bei denen der Scriptsprachen-Zugriff auf beliebige HTML-Elemente möglich ist, und zwar lesend und schreibend. So wird es beispielsweise möglich, den Text eines Textabsatzes dynamisch auszutauschen, wenn der Anwender an eine bestimmte Stelle klickt. Auf diese Weise werden HTML-Dateien zu richtigen interaktiven Anwendungen - was sich etwa hervorragend für didaktische Zwecke nutzen lässt. Für das dynamische Verändern von am Bildschirm angezeigten Web-Seiten hat sich auch der Begriff Dynamic HTML eingebürgert.

Den Zugriff auf beliebige Elemente regelt das Document Object Model (DOM). Dabei handelt es sich nicht um eine Programmiersprache, sondern um ein Schema für Programmiersprachen, das beschreibt, wie auf die Elemente von HTML- und auch auf die Elemente von beliebigen XML-basierten Dokumenten zugegriffen werden kann. Das DOM regelt also beispielsweise, welche Möglichkeiten eine Sprache wie JavaScript bereitstellen muss, um dem Programmierer zu erlauben, den Text einer Überschrift erster Ordnung in einer HTML-Datei zu ermitteln und durch einen anderen Text zu ersetzen. Das DOM ist im Gegensatz zu JavaScript keine konkrete Programmiersprache. Es ist lediglich eine Vorgabe, die in modernen Scriptsprachen für Web-Seiten umgesetzt werden sollte. Denn das DOM wird wie HTML, CSS und JavaScript vom W3-Konsortium standardisiert und hat damit einen normativen Charakter. In den JavaScript-Modulen der verbreiteten Browser wird das DOM allmählich umgesetzt. Der MS Internet Explorer unterstützt DOM-gerechtes JavaScript seit Version 5.x, Netscape seit Version 6.x.

Die Mehrzahl der heutigen Web-Seiten setzt JavaScript in irgendeiner Form ein - die meisten so wie es gedacht ist, nämlich als Unterstützung für bestimmte Aufgaben, die sich mit HTML einfach nicht lösen lassen. Einige Seiten sind aber auch komplett JavaScript-basiert. Anwender, die in ihrem Browser JavaScript deaktiviert haben (was bei allen Browsern möglich ist), sehen von solchen Seiten rein gar nichts.

## JavaScript-Informationen

JavaScript ist anders als HTML, CSS oder XML keine unabhängige Technologie, sondern eine von Netscape lizenzierte Programmiersprache. Obwohl JavaScript im MS Internet Explorer genauso funktioniert wie im Netscape-Browser, steckt in Wirklichkeit beim Internet Explorer eine andere Sprache namens JScript dahinter. JScript ist die Microsoft-Antwort auf JavaScript, was den Web-Seiten-Entwickler allerdings nicht kümmern muss, denn der JScript-Interpreter des Internet Explorers kommt mit JavaScript zurecht. Als Ersteller von Web-Seiten können Sie also in JavaScript programmieren, was sie wollen, ohne sich um Lizenzfragen kümmern zu müssen. Die Weiterentwicklung von JavaScript liegt jedoch in den Händen des Lizenzinhabers und nicht in denen einer unabhängigen Organisation wie dem W3-Konsortium. In den Händen des W3-Konsortiums liegt dagegen die Standardisierung des DOM, das eine wichtige Grundlage für modernes JavaScript ist. Das Dokument für das DOM in der Version 1.0 finden Sie auf den Web-Seiten des W3-Konsortiums:

Document Object Model (DOM) 1.0 Spezifikation

### Beachten Sie:

Im Linkverzeichnis des Online-Angebots von SELFHTML aktuell finden Sie weitere relevante und aktuelle Verweise, z.B. zu Original-Dokumentationen von Netscape und weiteren Quellen:

SELFHTML Linkverzeichnis: JavaScript/DOM

Innerhalb der vorliegenden Dokumentation werden JavaScript und DOM im Kapitel JavaScript/DOM behandelt. Relevant ist darüber hinaus das Kapitel Dynamisches HTML, in dem bestimmte Techniken für den Zugriff auf Elemente einer Web-Seite eingehender beschrieben werden.

| CGI und Perl
| XML und XML-Derivate

© 2001 selfhtml@teamone.de