Jetzt wird's dynamisch - JavaScript
JavaScript ist eine clientseitige
Programmiersprache, die vom Browser-Hersteller Netscape 1995 eingeführt
wurde. Der JavaScript-Code kann entweder in den HTML-Code eingebettet oder
als eigene Datei eingebunden werden (ähnlich wie bei CSS). Für
die Ausführung des Codes ist der Browser zuständig. Praktisch alle
heutigen Browser können JavaScript ausführen, wenn auch nicht alle
gleich gut.
Um einem verbreiteten Mißverständnis gleich vorzubeugen: Mit der
objektorientieren Programmiersprache Java hat
JavaScript nicht viel zu tun. Als Netscape JavaScript auf den Markt brachte,
war Java gerade "in", also baute man das Wort "Java" in
den Namen der neuen Sprache ein. Offiziell heißt JavaScript sowieso
EMCAScript (nach dem Industriestandard), aber den Begriff benutzt eigentlich
niemand.
Eine Besonderheit gibt es (mal wieder) bei Microsofts Internet Explorer. Der
interpretiert nicht nur JavaScript, sondern auch eine zusätzliche
IE-only-Sprache namens JScript. JScript kann einige
Dinge, die JavaScript (mit voller Absicht) nicht kann.
Das betrifft insbesondere Zugriffe auf die Festplatte des Rechners, auf dem
der Browser läuft. JavaScript läuft in einer sogenannten
Sandbox, die nach außen abgeschirmt ist. Man
könnte sagen, JavaScript spielt im Sandkasten, wo es nicht viel Schaden
anrichten kann. Das ist ausgesprochen sinnvoll, schließlich wollt ihr
nicht jeder Webseite, auf die Ihr surft, vollen Zugriff auf Eure Festplatte
geben. Die IE-only-Sprache JScript jedoch kennt neben den Möglichkeiten
von JavaScript noch Zugriffe auf das lokale Dateisystem und Windows-eigene
Funktionen (zusammengefaßt unter dem Begriff
Windows Scripting Host). Es ist leicht einsehbar, daß sich mit
dem Scripting Host viel Schaden anrichten läßt. Viele Viren und
Würmer arbeiten mit Hilfe des Scripting Hosts, wenn auch meist mit
anderen Sprachen als JScript (Visual Basic Script etc.). Daher wird im
allgemeinen empfohlen, den Scripting Host im Windows-Setup komplett zu
deinstallieren.
Leider haben die verschiedenen Browser unterschiedliche Versionen von
JavaScript eingebaut. In der Praxis ist daher häufig nicht mehr
nachvollziehbar, welcher Browser was genau kann. Unterschiede gibt es nicht
nur bei den verschiedenen Browsern, sondern auch bei unterschiedlichen
Versionen desselben Browsers, teilweise sogar bei unterschiedlichen
Implementationen für verschiedene Betriebssysteme. Da hilft nur, mit
möglichst vielen Browser-Varianten zu testen.
Ganz grob könnt Ihr Euch nach folgender Einteilung richten
- Nach den offiziellen Standards des W3C richten sich im wesentlichen
der Internet Explorer ab 5.0 und Netscape ab 6.0, inklusive
Mozilla (Stichwort DOM).
- Einen eigenen Seitenweg neben dem W3C geht der Internet Explorer bis
einschließlich 4.x (Stichwort all-Objekt).
- Einen wieder anderen Seitenweg geht der Netscape Navigator bis
einschließlich 4.x (Stichwort layer).
- Opera bemüht sich, den W3C-Standards nahe zu kommen, und wird
darin von Version zu Version besser. Trotzdem ist Opera noch immer das
große Problemkind, was JavaScript angeht.
Insbesondere, wenn Ihr Internet Explorer und Netscape Navigator bis 4.x
unterstützen wollt, müßt Ihr in vielen Fällen sogar
mehrere Versionen Eurer Seite schreiben.
Übersicht
Einbindungen
Dieser Abschnitt zeigt, wie Ihr JavaScript-Code in Eure HTML-Dateien einbauen könnt.
Grundlagen
Hier lernt Ihr einige Syntax-Details kennen, ebenso die wichtigsten vordefinierten Objekte und das Konzept
der Eventhandler.
Fensterln
Das window-Objekt, um das es in diesem Abschnitt geht, stellt das aktuelle Browser-Fenster dar. Damit
könnt Ihr kleine Meldungsfenster erzeugen, das Aussehen des Fensters beeinflussen, ein neues
HTML-Dokument laden, und - nicht zuletzt - neue Fenster öffnen.
document
Nach dem window-Objekt geht es um das document-Objekt. Damit habt Ihr Zugriff auf das aktuell
geladene Dokument. Allerdings beginnen hier auch die Unterschiede bei den verschiedenen Browsern und
damit die Probleme.
DOM, aber keine Kirche
Dieser Abschnitt ist eine Einführung in das Document Object Model der modernen Browser. Es
bietet Euch (fast) unbeschränkten Zugriff auf die Bestandteile Eurer HTML-Seiten.
Von Knoten und IDs
Nach der Einführung im letzten Abschnitt seht Ihr hier, wie Ihr das DOM praktisch nutzen
könnt.
Alles in all
Die älteren Versionen des Internet Explorers (bis 4.x) kannten das DOM noch nicht. Statt dessen
könnt Ihr hier das all-Objekt verwenden, das in diesem Abschnitt vorgestellt wird.
layer
Auch der Netscape Navigator kennt erst seit einiger Zeit das DOM. Vorher, ebenfalls bis Version 4.x,
wurde hier mit Layern gearbeitet.
Lora will 'nen Keks!
Dieser Abschnitt zeigt Euch, was Cookies sind und wie Ihr sie benutzen könnt.
Speisekarte
Zum Abschluß des JavaScript-Teils noch ein Skript, nach dem oft gefragt wird: Ein Drop-Down-Menu.
|