1. Was ist JavaScript
  2. Historische Entwicklung
  3. Vorteile & Nachteile
  4. Einsatzgebiete
  5. Voraussetzungen



1. Was ist JavaScript


JavaScript ist kein Bestandteil von HTML, sondern eine eigene Programmiersprache. Diese Sprache wurde jedoch eigens zu dem Zweck geschaffen, HTML-Autoren ein Werkzeug in die Hand zu geben, mit dessen Hilfe sich WWW-Seiten optimieren lassen. Dazu besitzen moderne WWW-Browser wie Netscape oder Microsoft Internet Explorer entsprechende Interpreter-Software.Wie andere Scriptsprachen auch verwendet JavaScript Codes, welche in anderen Anwendungen laufen, wie z.B. Webbrowser. JavaScripts können nicht unabhängig (allein) ablaufen.

Wie ist JavaScript mit anderen Programmiersprachen des www, wie z.B. Java und VBScript, verwandt?
Zuerst muss bemerkt werden, dass es keine direkte Verwandtschaft zwischen JavaScript und Java, welche eine Cross-Plattform-Programmiersprache ist, welche verwendet wird, um selbständig arbeitende Applikationen oder Applets in HTML-Dokumenten zu schreiben. JavaScript ist keine Unterform von Java (Java mit ein paar Komponenten weniger). Obwohl JavaScript in mancher Hinsicht ähnlich wie Java aufgebaut ist, gibt es viele Unterschiede.

VBScript andererseits ist eine andere Form von Microsofts Sprache Visual Basic. Obwohl VBScript und JavaScript ähnliche Funktionen haben, gibt es auch zwischen dieses beiden Sprachen viele Unterschiede und die Scripts dieser Sprachen sind nicht austauschbar, ein paar leichte Fälle ausgenommen. VBScript wird zurzeit nur vom Microsoft Internet Explorer unterstützt.

Top


2. Historische Entwicklung


JavaScript ist eine Sprache, die 1995 von Netscape eingeführt und lizenziert wurde. Es war also eine firmeneigene, Proprietäre Angelegenheit, und Netscape diktierte, woraus das "offizielle" JavaScript bestand. Mittlerweile ist die Situation aus verschiedenen Gründen unübersichtlicher geworden - aber JavaScript gibt es nach wie vor und erfreut sich bei Webseiten-Gestaltern großer Beliebtheit.

Netscape versuchte schon frühzeitig, JavaScript nicht als willkürliche Eigenentwicklung dastehen zu lassen, sondern ihm der Sprache den Charakter eines Standards zu verleihen. Dazu spannte man die Organisation EMCA (European Computer Manufacturers Association) ein. Unter dem Namen ECMAScript ließ sich Netscape von dieser Organisation JavaScript als Industriestandard deklarieren. In der Spezifikation "ECMA-262" wurde dieser Standard festgeschrieben.

Microsoft konterte auf seine Weise. Der MS Internet Explorer interpretiert zwar JavaScript, daneben aber auch die Microsoft- eigene Sprachvariante JScript. Diese Sprache implementierte Microsoft nicht zuletzt, um sich aus den Lizenzvorgaben von Netscape herauszuwinden und das, was bei Netscape unter JavaScript lief, selbständig erweitern zu können. JScript umfasst die ganze Palette von JavaScript, doch daneben auch noch etliche spezielle Befehle für den Zugriff auf das Dateisystem und Betriebssystem Windows (das Ganze bezeichnet Microsoft als "Windows Scripting Host"). JScript ist insgesamt also viel mächtiger als JavaScript, doch es ist auch für andere Aufgaben gedacht. Es hat eine ganz eigene Versionenpolitik, die nichts mit der von JavaScript gemein hat. Bekannter als die JScript-Versionen sind jedoch nach wie vor die JavaScript-Versionen, und wenn Sie JavaScript verwenden, geben Sie in der Regel auch "JavaScript" als Sprache an und nicht "JScript". Der Internet Explorer kommt damit klar.

Netscape 2.0 interpretiert den seinerzeit eingeführten JavaScript-Sprachstandard 1.0 (Ende 1995). Der MS Internet Explorer versteht diesen Sprachstandard weitgehend seit der Version 3.0 (1996). Netscape interpretiert seit Version 3.0 den JavaScript-Standard 1.1 (ebenfalls 1996).
Der MS Internet Explorer interpretiert diesen Sprachumfang von JavaScript weitgehend seit der Produktversion 4.0 (1997). Netscape interpretiert seit Version 4.0 den JavaScript-Standard 1.2 (1997).
Einige Befehle dieser Sprachversion werden auch vom MS Internet Explorer seit Version 4.0 interpretiert.
Die JavaScript-Version 1.3 ist in Netscape in den heute am meisten verbreiteten Netscape-Versionen 4.06 bis 4.7 implementiert (1998-2001). Der Internet Explorer versteht diese Sprachversion weitgehend seit Produktversion 5.0.
In die völlig neu programmierte Netscape-Version 6.0 wurde eine Version 1.5 von JavaScript integriert(2000-2001), die neben einigen wenigen JavaScript-eigenen Neuerungen vor allem das Document Object Model(DOM) umsetzt - mehr dazu weiter unten.
Beim Internet Explorer gibt es zum Teil nicht ganz unbeträchtliche Unterschiede, was die Editionen für die den einzelnen Plattformen betrifft. So kann es durchaus sein, dass die Windows-Version eines Internet Explorers mit der Produktversion 5.5 JavaScript-Befehle versteht, die eine Macintosh-Ausgabe mit gleicher Produktversionsnummer nicht versteht. Dazu kommen andere Browser-Produkte, die ebenfalls JavaScript implementiert haben, wie beispielsweise Opera, wobei auch dort jede Produktversion wieder ein bischen mehr JavaScript kann als die Vorgängerversion. In der Praxis ist eigentlich nicht mehr wirklich nachvollziehbar, was nun welcher Browser genau kann. Es ist deshalb ratsam, benutzte Sprachbestandteile von JavaScript-Versionen jenseits der V1.2 besonders sorgfältig zu testen.

Das Gerangel zwischen Netscape und Microsoft um die bessere JavaScript-Unterstützung bewirkte auf jeden Fall eine Menge Frustration bei Web-Programmierern und Anwendern. Viele Dinge mussten und müssen immer noch ziemlich umständlich programmiert werden, weil die Fähigkeiten und Eigenheiten der verschiedenen JavaScript- Interpreter der verschiedenen Browser und Browser-Versionen lauter Wenns und Abers erfordern, was sich im Quellcode von JavaScript niederschlägt. Vor allem bei komplexeren JavaScript-Anwendungen, etwa bei dynamischem HTML, wurde das "Doppeltprogrammieren" zur lästigen Pflicht.

Um diesem Missstand auf Dauer abzuhelfen, wurde das W3-Konsortium eingeschaltet, damit eine allgemeine Sprachnorm entsteht. Das W3-Konsortium erarbeitete dabei jedoch keinen konkreten JavaScript-Standard, sondern ein allgemeines Modell für Objekte eines Dokuments. Dieses Modell sollte eine Scriptsprache, die sich als Ergänzungssprache zu Auszeichnungssprachen wie HTML versteht, vollständig umsetzen. Vom W3-Konsortium erhielt das Modell die Bezeichnung Document Object Model (DOM). Am 1. Oktober 1998 wurde das DOM eine offizielle W3-Empfehlung (recommendation) in der Version 1.0, die seit dem 29. September 2000 in einer zweiten Ausgabe vorliegt. Seit 13. November 2000 ist die Version 2.0 des DOM eine offizielle W3-Empfehlung. Das entsprechende Dokument ist jedoch aufgesplittet in mehrere Einzeldokumente. Version 3.0 ist in Arbeit.

Der MS Internet 5.0 unterstützt einiges von von DOM 1.0, die Version 5.5 schon mehr, ebenso wie Netscape 6.x. Die JavaScript-Version, die DOM erstmals umsetzt, ist die Version 1.5.

Ein wichtiger Aspekt des DOM ist, dass es nicht nur für HTML ergänzende Scriptsprachen konzipiert ist, sondern auch für Scriptsprachen, die jegliche XML- gerechte Auszeichnungssprache erweitern sollen. Das DOM orientiert sich daher in seinem Kern nicht mehr an bestimmten HTML-Elementen. Stattdessen geht es in abstrakter Weise von einem "Dokument" aus (das in XHTML geschrieben sein kann, aber auch in einer anderen XML- basierten Sprache). Es definiert, wie sich auf die einzelnen Elemente dieses Dokuments zugreifen lässt und welche Manipulationsmöglichkeiten es gibt. Da man aber bei der Entwicklung des DOM auch auf die Gegebenheiten und die Verbreitung von HTML und JavaScript Rücksicht nehmen wollte, wurde dem so genannten "Kern-DOM" ein "HTML-Anwendungs-DOM" zur Seite gestellt. Letzteres versucht, Teile des "gewachsenen" JavaScript und MS-JScript zu sanktionieren und Bestandteile des "Kern-DOM" darin zu integrieren.

DOM 1.0 grenzt jedoch noch einige wichtige Aspekte aus, wie etwa das Event-Handling (Behandlung von Anwenderereignissen wie Mausklicks, Tastatureingaben usw.) oder die Integration von Stylesheets in das, was Programmierer dynamisch verändern können. In den Versionen 2.0 und 3.0 behandelt das DOM auch diese Aspekte.

Über die W3-Einstiegsseite zum DOM können Sie die aktuelle Weiterentwicklung des Document Object Models beim W3-Konsortium verfolgen.

Seit das DOM vorliegt, überbieten sich die Browser-Anbieter gegenseitig mit Versprechungen, die Vorgaben des DOM in JavaScript umzusetzen. Abgesehen davon, dass es noch immer Uneinheitlichkeiten bei der Umsetzung gibt, ähnlich wie in HTML und CSS, haben JavaScript-Programmierer nun ein zusätzliches Problem: wo sie zunächst häufig eine Doppellösung für die beiden verbreitetsten Browsertypen benötigten, müssen sie nun manchmal sogar drei Lösungen programmieren, wenn sie nämlich Rücksicht auf die 4er-Versionen von Netscape und Internet Explorer Rücksicht nehmen und gleichzeitig DOM-gerecht programmieren wollen.

In der Praxis von JavaScript auf HTML-basierten Web-Seiten ist es jedoch so, dass meistens noch mit den herkömmlichen, von Netscape eingeführten JavaScript-Objekten und gearbeitet wird. In Zukunft ist allerdings zu hoffen, dass die DOM-gerechte JavaScript-Programmierung das klassische JavaScript verdrängen wird.

Top


3. Vorteile & Nachteile


Da gibt es einige, da es nur eine Scriptsprache ist und kein eigenständiges Programm. JavaScript läuft nur browserintern auf dem System des Users und kann nur auf Objekte / Daten zugreifen, welche der Browser momentan im Arbeitsspeicher des Computers gespeichert hat.

  • JavaScript kann keine Informationen in irgendeine Datei des Users (ausgenommen Cookies) oder den Server schreiben und die Informationen, welche das Script generiert oder welche durch Eingaben des Users entstehen, werden nicht gespeichert, ausgenommen eben Cookies.

  • JavaScript kann keine Dateien oder Seiten erstellen, ausgenommen solche Fälle, wo das Script

  • HTML-Seiten "schreibt", wobei das Script da nur verschiedene vordefinierte Codes auswählen und kombinieren kann.

  • JavaScript kann auf kein anderes Programm zugreifen oder dieses "manipulieren" als den Browser.

Diese Grenzen kann man auch als "Sicherheitsvorkehrungen" sehen, da weder Sie selbst noch der User, welcher Ihre Webseiten anschaut, Angst zu haben braucht, dass JavaScript seine (ihre) Software, Daten oder gar den Computer zerstört. Das schlimmste, was JavaScript machen kann, ist eine Fehlermeldung zu produzieren, wenn es nicht ordnungsgemäß läuft.
Wer also JavaScript in seinem Browser deaktiviert aus Angst, dass seine Festplatte damit formatiert werden könnte, sollte sich am besten ganz vom Internet fernhalten, denn schon beim Abruf von E-Mails lauern Gefahren, die wesentlich größer sind als diejenigen, die von JavaScript ausgehen.

Doch leider gibt es andere gute Gründe, die nicht wenige Anwender dazu veranlassen, JavaScript in ihrem Browser abzuschalten. Dazu gehören vor allem die "Nervereien" mancher Programmierhelden, die meinen, eine Web-Seite sei umso toller, je mehr sie den Anwender gängelt. Da wird dann beispielsweise mit JavaScript die Unterstützung der rechten Maustaste abgewürgt, der Anwender kann die aufgerufene Seite nicht mehr verlassen und allerlei mehr. Solche Hirngeburten kontrollgeiler Programmierer sind das eigentliche Übel und der Grund, warum JavaScript nicht bei allen Anwendern beliebt ist. Wer JavaScript einsetzt, sollte sich darüber im Klaren sein und die Möglichkeiten der Sprache so einsetzen, dass der Anwender einen Mehrwert davon hat, und nicht so, dass ihm etwas genommen wird.

Bevor Sie sich also in die Tiefen von JavaScript stürzen, sollten Sie sich auch darüber bewusst sein,dass JavaScript wirklich nur als Ergänzung zu normalem HTML gedacht ist, aber nicht als dessen Ersatz. Es ist zwar durchaus möglich, Web-Seiten ausschließlich in JavaScript zu programmieren, so dass man kaum mehr davon reden kann, dass JavaScript in HTML eingebettet ist, sondern eher davon, dass der HTML-Code der Seite mit Hilfe von JavaScript dynamisch erzeugt wird. Doch solche Seiten funktionieren nur dort, wo JavaScript im Browser aktiviert ist, und wo der Browser all das versteht, was Sie programmiert haben (ansonsten endet der Versuch, die Seite anzuzeigen, sehr schnell in einer nüchternen Fehlermeldung). Für Web-Seiten, bei denen Information im Vordergrund steht, und die auch von Suchmaschinen-Robots und Benutzerrandgruppen wie Sehbehinderten erfasst werden sollen, müssen Sie darauf achten, JavaScript nur so einzusetzen, dass die Web-Seiten auch ohne eingeschaltetes JavaScript ordentlich angezeigt werden, und dass die Navigation zwischen den Seiten auch ohne JavaScript funktioniert.

Top


4. Einsatzgebiete


Was kann man mit JavaScript alles machen?
Sie können Farben verändern, Text ausgeben und Fenster anzeigen lassen, die Menüs und Dialogboxen enthalten. Mit JavaScript ist sehr vieles möglich. Typische Anwendungen, die in JavaScript erstellt werden, sind:

  • Buttons verändern sich, wenn die Maus darüber gefahren wird (sogenannter Rollover-Effekt)
  • Laufschriften, die in der Statusleiste oder in einem Formularfeld durchlaufen.
  • kleine Popup-Fenster, die separaten Inhalt enthalten können
  • Dialogboxen, die zur Eingabe von Daten genutzt werden können
  • Auswertung von Formularen
  • Automatische Erkennung des Browers
Darüber hinaus eignet sich JavaScript auch zum programmieren von kleinen Spielen oder dynamischen Navigations-Menüs.
Ziel und Zweck von JavaScript ist es, die Fähigkeiten von Webseiten zu verbessern und dynamische Dokumente zu erstellen.

Top


5. Voraussetzungen


JavaScript kann im Browser vom Anwender gezielt aktiviert oder deaktiviert werden!

Internet-Explorer 5 und 6:
  • Im Menü "Extras/Internetoptionen
  • Register Sicherheit, Schaltfläche: "Stufe anpassen"
  • In der Rubrik "Aktive Scripting" JavaScript ein oder ausschalten
Netscape ab Version4:
  • im Menü "Bearbeiten/Einstellungen"
  • in der Rubrik "Erweitert" JavaScript ein oder ausschalten
Opera 7:
  • im Menü "Datei/Einstellungen"
  • im Register "Multimedia, Java/-Script" JavaScript aktivieren
LINUX- Browser Konqueror:
  • JavaScript ist standardmäßig ausgeschaltet
  • Im Menü "Einstellungen/Konqueror einrichten/Konqueror- Browser/JavaScript" Aktivieren oder Deaktivieren
Tipp: Wenn Sie JavaScript auf eigenen Web-Seiten verwenden wollen, sollten Sie auf jeden Fall mehrere Browser zum Testen einsetzen. Denn leider sind die JavaScript-Interpreter der JavaScript-fähigen WWW-Browser wie schon erwähnt sehr unterschiedlich in ihrer Leistung.

Stellen Sie keine Web-Seiten mit ungeprüftem JavaScript-Code öffentlich zur Verfügung. Für einen Anwender ist es sehr ärgerlich, wenn er Fehlermeldungen des JavaScript-Interpreters am Bildschirm erhält und in schlimmeren Fällen einen Programmabsturz des Web-Browsers oder gar einen Systemabsturz hat, was bei Online-Sitzungen besonders unangenehm ist. Solche Anwender besuchen Ihre Seiten mit Sicherheit so schnell nicht wieder.

Top