Kapitel 19 JavaScript
Das wichtigste Schreibmaterial ist der Kaffee.
– Eugen Roth
Nachdem im vorigen Kapitel Verfahren vorgestellt wurden, Webseiten oder sogar ganze Sites auf dem Server aus Vorlagen und dynamischen Daten zusammenzusetzen, wird hier eine andere Form der Dynamik gezeigt: Es geht um Websites, die auf der Client-Seite dynamisch sind. Solche Techniken ermöglichen beispielsweise Animationen, das Ein- und Ausblenden von Inhalten sowie unmittelbare Interaktivität. Die beiden wichtigsten Lösungen für diese Form der Dynamik sind heute JavaScript und das im nächsten Kapitel ausführlich vorgestellte Flash.
Andere Techniken und Formate befinden sich eindeutig auf dem Rückzug. Beispielsweise waren Java-Applets (siehe Kapitel 5, Grundlagen der Programmierung) vor einigen Jahren die wichtigste Anwendung der Programmiersprache Java, während sie heute kaum noch genutzt werden. Auch die in Kapitel 10, Multimedia, angerissene Macromedia Shockwave-Technologie – der Export von Director-Dateien für Websites – ist vor allem im Vergleich zu Flash zurückgegangen. Das liegt besonders daran, dass Flash-Dokumente zum einen erheblich weniger Speicher verbrauchen als vergleichbare Director-Filme, aber auch daran, dass neuere Flash-Versionen immer besser für das Erstellen von Interaktivität geeignet sind.
19.1 JavaScript-Einführung
 
JavaScript ist eine der ältesten Techniken für interaktive Dynamik auf Webseiten. Diese Sprache wurde 1995 von Netscape unter dem ursprünglichen Namen LiveScript entwickelt. Mit Beginn der Sun-Netscape-Alliance wurde sie dann – angesichts des großen Erfolgs von Suns Programmiersprache Java – in JavaScript umbenannt.
JavaScript kontra Java
Diese Namensähnlichkeit führt allerdings immer wieder zu Missverständnissen: JavaScript ist nicht Java und hat auch nicht allzu viel damit zu tun. Zwar stammt auch bei JavaScript die grundlegende Syntax aus der C-Tradition, aber mehr Gemeinsamkeiten gibt es eben nicht. Während Java eine vollständige Programmiersprache zur Entwicklung eigenständiger Anwendungen ist, handelt es sich bei JavaScript um eine Skriptsprache, die nur in einer bestimmten Umgebung läuft: in einem Webbrowser.
Auch in einigen anderen Umgebungen werden Varianten von JavaScript angewandt:
|
Webserver von Netscape unterstützen eine spezielle serverseitige Variante von JavaScript. Da sie im Vergleich zu Apache und Microsoft IIS kaum noch eine Rolle spielen, ist dies nicht mehr der Rede wert. |
|
Adobe Acrobat, das Programm zur Erstellung und Bearbeitung von PDF-Dokumenten (siehe Kapitel 9, Desktop Publishing und digitale Druckvorstufe), verwendet JavaScript zur Anpassung und Erweiterung. |
|
Unter Windows können Arbeitsabläufe mit Hilfe des Windows Scripting Host unter anderem per JavaScript automatisiert werden. |
|
Schließlich ist auch ActionScript – die eingebaute Programmiersprache von Macromedia Flash (siehe Kapitel 20) – nach dem Vorbild von JavaScript entwickelt worden. |
ECMAScript
Begünstigt wird diese Entwicklung durch die Tatsache, dass der Sprachkern von JavaScript vor einigen Jahren bei der ECMA (European Computer Manufacturer Association) festgeschrieben wurde; der Standard, auf den sich zum Beispiel auch die in Flash eingebaute Sprache ActionScript bezieht, heißt ECMA-262.
In diesem Buch bleibt die Betrachtung von JavaScript auf seinen Einsatz in Webbrowsern beschränkt. Nach der ausführlichen Beschreibung der klassischen Funktionen und Fähigkeiten der Sprache wird am Ende des Kapitels Dynamic HTML (DHTML) vorgestellt. Mit Hilfe dieser Technik werden die Elemente der Webseite selbst dynamisch und können bewegt, verändert oder sogar durch andere ersetzt werden.
Sicherheit
Es sollte noch ein Wort zur Verfügbarkeit und Sicherheit von JavaScript gesagt werden. In der JavaScript-Implementierung der Browser – insbesondere im Internet Explorer und im Netscape Navigator – treten immer wieder Sicherheitslücken auf. Deshalb schalten einige Benutzer JavaScript in ihren Browsern ganz ab – zumindest, bis ein entsprechendes Sicherheitsupdate zur Verfügung steht. Es ist also nicht ratsam, Websites so anzulegen, dass relevante Inhalte nur mit eingeschaltetem JavaScript betrachtet werden können.
Abgesehen von diesem Sicherheitsproblem unterstützen die verschiedenen Browser unterschiedliche Versionen von JavaScript. In diesem Kapitel werden deshalb so genannte Browserweichen vorgestellt, mit deren Hilfe Sie ermitteln können, in welchem Browser ein Skript gerade läuft. Falls Sie allerdings vorhaben, Skripts zu schreiben, die in fast jedem Browser funktionieren, müssen Sie sich mit erheblichen Einschränkungen des Funktionsumfangs abfinden: Besonders die DHTML-Objektmodelle der einzelnen Browser unterscheiden sich so erheblich voneinander, dass der gemeinsame Nenner recht klein ist.
|