Was kann JavaScript? Und was nicht?
- JavaScript wird (normalerweise) auf dem Client ausgeführt, und dort quasi im
Sandkasten im Browser. Bei einem herkömmlichen Programm kennt
man zumeist den Autor, er steht auf der Verpackung. Bei einem Script im Internet
ist das anders. Daher erlaubt JavaScript fast nichts, was dem User schaden würde,
und wenn doch, dann ist es zumeist ein Bug, für den schnell Patches zur Verfügung
stehen. (Ausnahmen gibt es natürlich auch.) Daraus ergeben sich fast schon
die Antworten auf diese Fragen.
- JavaScript kann den Server und das Netz entlasten, indem Berechnungen
auf dem Client ausgeführt werden. Das ist meistens auch schneller. Ein Beispiel
sind Formular-Plausibilitätsprüfungen.
- JavaScript kann auf Eingaben reagieren und entsprechende
Ausgaben machen.
Eingaben können z.B. Tastatureingaben oder Mausbewegungen und -klicks des Users
sein, aber sich auch aus der Umgebung des Clients herleiten, wie Betriebssystem,
verwendeter Browser, installierte Plugins, Sprache, Uhrzeit.
Ausgaben sind meist Bildschirmdarstellungen, können aber auch Sound sein oder
der Druck der Seite, oder Mailversand, ...
- JavaScript kann (mit css-Hilfe) Bildschirminhalte animieren,
mit der Maus verschiebbar machen, ein- und ausblenden - das nennt man DHTML.
- JavaScript kann mit dem Browser interagieren : Fenster öffnen
und schließen, die Statusleiste beschreiben, in der History umherwandern,
...
- JavaScript kann HTML schreiben oder auf anderen Wegen Ziele erreichen,
die man mit HTML auch erreichen könnte. Beispielsweise Links setzen und Schrift
formatieren.
- JavaScipt kann auch noch Cookies auf der Platte des Users speichern
- in beschränkter Anzahl und Größe, nur lesbar vom Server aus, der
sie geschrieben hat, nur mit Name/Wert-Paaren. Ein kleines Loch im Sandkasten.
- JavaScript kann nicht Dateien schreiben (außer eben Cookies),
weder auf die Platte des Users noch auf den Server, auch keine Registry-Einträge
o.ä.
- JavaScript kann nicht die Daten von Browserfenstern fremder Server lesen.
- JavaScript kann nicht "fremde" Fenster schließen,
unsichtbare Fenster anlegen, rahmenlose Fenster anlegen.
- JavaScript kann nicht heimlich e-Mails verschicken.
- JavaScript kann nicht den Quellcode einer Datei verbergen, auch
nicht seinen eigenen. Der Browser muss ihn lesen können, also kann das der
User auch.
- JavaScript hat keine Grafik-Fähigkeiten. Es kann keine Striche
oder Kreise malen. Fertige Grafikdateien allerdings kann es (wie HTML) anzeigen,
mit den Filtern im IE sogar bearbeiten.