O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java Script: Das umfassende Referenzwerk

Book Description

JavaScript ist eine mächtige, objektorientierte Skriptsprache, deren Code in HTML-Seiten eingebettet und vom Browser interpretiert und ausgeführt wird. Im Zusammenhang mit Ajax kommt JavaScript immer häufiger bei der Programmierung komplexer Anwendungen z

Table of Contents

  1. Java Script: Das umfassende Referenzwerk
    1. Vorwort
      1. Was in dieser Auflage neu ist
      2. Wie man dieses Buch verwendet
      3. Die in diesem Buch verwendeten Konventionen
      4. Verwendung der Codebeispiele
      5. Website und Codebeispiele zu diesem Buch
      6. Danksagungen
    2. 1. Einführung in JavaScript
      1. 1.1 Was ist JavaScript?
        1. 1.1.1 JavaScript ist nicht Java
        2. 1.1.2 JavaScript ist nicht einfach
      2. 1.2 Versionen von JavaScript
      3. 1.3 Clientseitiges JavaScript
        1. 1.3.1 Clientseitige JavaScript-Beispiele
      4. 1.4 JavaScript in anderen Kontexten
      5. 1.5 JavaScript erkunden
    3. I. Der JavaScript-Sprachkern
      1. 2. Lexikalische Struktur
        1. 2.1 Zeichensatz
        2. 2.2 Groß- und Kleinschreibung
        3. 2.3 Whitespace und Zeilenenden
        4. 2.4 Wahlweise Semikola
        5. 2.5 Kommentare
        6. 2.6 Literale
        7. 2.7 Bezeichner
        8. 2.8 Reservierte Wörter
      2. 3. Datentypen und Werte
        1. 3.1 Zahlen
          1. 3.1.1 Integer-Literale
          2. 3.1.2 Hexadezimal- und Oktal-Literale
          3. 3.1.3 Gleitkomma-Literale
          4. 3.1.4 Mit Zahlen arbeiten
          5. 3.1.5 Numerische Unwandlungen
          6. 3.1.6 Besondere numerische Werte
        2. 3.2 Strings
          1. 3.2.1 String-Literale
          2. 3.2.2 Escape-Sequenzen in String-Literalen
          3. 3.2.3 Mit Strings arbeiten
          4. 3.2.4 Zahlen in Strings umwandeln
          5. 3.2.5 Strings in Zahlen umwandeln
        3. 3.3 Boolesche Werte
          1. 3.3.1 Boolesche Typumwandlungen
        4. 3.4 Funktionen
          1. 3.4.1 Funktionsliterale
        5. 3.5 Objekte
          1. 3.5.1 Objekte erzeugen
          2. 3.5.2 Objekt-Literale
          3. 3.5.3 Objektumwandlungen
        6. 3.6 Arrays
          1. 3.6.1 Arrays erzeugen
          2. 3.6.2 Array-Literale
        7. 3.7 null
        8. 3.8 undefined
        9. 3.9 Das Date-Objekt
        10. 3.10 Reguläre Ausdrücke
        11. 3.11 Fehlerobjekte
        12. 3.12 Zusammenfassung der Typumwandlungen
        13. 3.13 Wrapper-Objekte für primitive Datentypen
        14. 3.14 Umwandlungen von Objekten in elementare Werte
        15. 3.15 by-value vs. by-reference
          1. 3.15.1 Elementare Typen und Referenztypen
          2. 3.15.2 Strings kopieren und übergeben
          3. 3.15.3 Strings vergleichen
          4. 3.15.4 by-value vs. by-reference: Zusammenfassung
      3. 4. Variablen
        1. 4.1 Typisierung von Variablen
        2. 4.2 Deklaration von Variablen
          1. 4.2.1 Wiederholte und weggelassene Deklarationen
        3. 4.3 Der Geltungsbereich von Variablen
          1. 4.3.1 Kein Block-Geltungsbereich
          2. 4.3.2 Nicht definiert oder nicht initialisiert?
        4. 4.4 Primitive Datentypen und Referenztypen
        5. 4.5 Garbage Collection
        6. 4.6 Variablen als Eigenschaften
          1. 4.6.1 Das globale Objekt
          2. 4.6.2 Lokale Variablen: Das Aufrufobjekt
          3. 4.6.3 JavaScript-Ausführungskontext
        7. 4.7 Noch einmal zum Geltungsbereich von Variablen
      4. 5. Ausdrücke und Operatoren
        1. 5.1 Ausdrücke
        2. 5.2 Übersicht über die Operatoren
          1. 5.2.1 Anzahl der Operanden
          2. 5.2.2 Typen von Operanden
          3. 5.2.3 Rangfolge der Operatoren
          4. 5.2.4 Assoziativität von Operatoren
        3. 5.3 Arithmetische Operatoren
        4. 5.4 Gleichheitsoperatoren
          1. 5.4.1 Gleichheit (==) und Identität (===)
          2. 5.4.2 Ungleichheit (!=) und Nichtidentität (!==)
        5. 5.5 Relationsoperatoren
          1. 5.5.1 Vergleichsoperatoren
          2. 5.5.2 Der in-Operator
          3. 5.5.3 Der instanceof-Operator
        6. 5.6 String-Operatoren
        7. 5.7 Logische Operatoren
          1. 5.7.1 Logisches UND (&&)
          2. 5.7.2 Logisches ODER (||)
          3. 5.7.3 Logisches Nicht (!)
        8. 5.8 Bit-Operatoren
        9. 5.9 Zuweisungsoperatoren
          1. 5.9.1 Zuweisung mit Operation
        10. 5.10 Sonstige Operatoren
          1. 5.10.1 Der Bedingungsoperator (?:)
          2. 5.10.2 Der typeof-Operator
          3. 5.10.3 Operator zur Objekterzeugung (new)
          4. 5.10.4 Der delete-Operator
          5. 5.10.5 Der void-Operator
          6. 5.10.6 Der Kommaoperator (,)
          7. 5.10.7 Operatoren für den Array- und Objektzugriff
          8. 5.10.8 Der Operator für Funktionsaufrufe
      5. 6. Anweisungen
        1. 6.1 Anweisungen mit Ausdrücken
        2. 6.2 Zusammengesetzte Anweisungen
        3. 6.3 if
        4. 6.4 else if
        5. 6.5 switch
        6. 6.6 while
        7. 6.7 do/while
        8. 6.8 for
        9. 6.9 for/in
        10. 6.10 Markierungen
        11. 6.11 break
        12. 6.12 continue
        13. 6.13 var
        14. 6.14 function
        15. 6.15 return
        16. 6.16 throw
        17. 6.17 try/catch/finally
        18. 6.18 with
        19. 6.19 Die leere Anweisung
        20. 6.20 Zusammenfassung der JavaScript-Anweisungen
      6. 7. Objekte und Arrays
        1. 7.1 Objekte erzeugen
        2. 7.2 Objekteigenschaften
          1. 7.2.1 Eigenschaften aufzählen
          2. 7.2.2 Die Existenz von Eigenschaften prüfen
          3. 7.2.3 Eigenschaften löschen
        3. 7.3 Objekte als assoziative Arrays
        4. 7.4 Universelle Objekteigenschaften und -methoden
          1. 7.4.1 Die constructor-Eigenschaft
          2. 7.4.2 Die toString( )-Methode
          3. 7.4.3 Die toLocaleString( )-Methode
          4. 7.4.4 Die valueOf( )-Methode
          5. 7.4.5 Die hasOwnProperty( )-Methode
          6. 7.4.6 Die propertyIsEnumerable( )-Methode
          7. 7.4.7 Die isPrototypeOf( )-Methode
        5. 7.5 Arrays
          1. 7.5.1 Array-Elemente lesen und schreiben
          2. 7.5.2 Neue Elemente zu einem Array hinzufügen
          3. 7.5.3 Array-Elemente löschen
          4. 7.5.4 Array-Länge
          5. 7.5.5 Arrays durchlaufen
          6. 7.5.6 Arrays verkleinern und vergrößern
          7. 7.5.7 Mehrdimensionale Arrays
        6. 7.6 Array-Methoden
          1. 7.6.1 join( )
          2. 7.6.2 reverse( )
          3. 7.6.3 sort( )
          4. 7.6.4 concat( )
          5. 7.6.5 slice( )
          6. 7.6.6 splice( )
          7. 7.6.7 push( ) und pop( )
          8. 7.6.8 unshift( ) und shift( )
          9. 7.6.9 toString( ) und toLocaleString( )
          10. 7.6.10 Array-Extras
        7. 7.7 Array-artige Objekte
      7. 8. Funktionen
        1. 8.1 Definition und Aufruf von Funktionen
          1. 8.1.1 Geschachtelte Funktionen
          2. 8.1.2 Funktionsliterale
          3. 8.1.3 Funktionsnamen
        2. 8.2 Funktionsargumente
          1. 8.2.1 Optionale Argumente
          2. 8.2.2 Argumentlisten variabler Länge: Das Arguments-Objekt
            1. 8.2.2.1 Die callee-Eigenschaft
          3. 8.2.3 Objekteigenschaften als Argumente verwenden
          4. 8.2.4 Argumenttypen
        3. 8.3 Funktionen als Datentypen
        4. 8.4 Funktionen als Methoden
        5. 8.5 Konstruktorfunktionen
        6. 8.6 Funktionseigenschaften und -methoden
          1. 8.6.1 Die length-Eigenschaft
          2. 8.6.2 Die prototype-Eigenschaft
          3. 8.6.3 Definition eigener Funktionseigenschaften
          4. 8.6.4 Die Methoden apply( ) und call( )
        7. 8.7 Beispiele für Hilfsfunktionen
        8. 8.8 Funktionsgeltung und Closures
          1. 8.8.1 Lexikalische Geltung
          2. 8.8.2 Das Aufrufobjekt
          3. 8.8.3 Das Aufrufobjekt als Namensraum
          4. 8.8.4 Eingebettete Funktionen als Closures
            1. 8.8.4.1 Closure-Beispiele
            2. 8.8.4.2 Closures und Speicherlöcher im Internet Explorer
        9. 8.9 Der Function( )-Konstruktor
      8. 9. Klassen, Konstruktoren und Prototypen
        1. 9.1 Konstruktoren
        2. 9.2 Prototypen und Vererbung
          1. 9.2.1 Geerbte Eigenschaften lesen und schreiben
          2. 9.2.2 Eingebaute Typen erweitern
        3. 9.3 Klassen in JavaScript simulieren
          1. 9.3.1 Instanzeigenschaften
          2. 9.3.2 Instanzmethoden
            1. 9.3.2.1 Instanzmethoden und this
          3. 9.3.3 Klasseneigenschaften
          4. 9.3.4 Klassenmethoden
          5. 9.3.5 Beispiel: Eine Kreis-Klasse
          6. 9.3.6 Beispiel: Komplexe Zahlen
          7. 9.3.7 Private Member
        4. 9.4 Allgemeine Objektmethoden
          1. 9.4.1 Die Methode toString( )
          2. 9.4.2 Die Methode valueOf( )
          3. 9.4.3 Vergleichsmethoden
        5. 9.5 Superklassen und Subklassen
          1. 9.5.1 Konstruktorverkettung
          2. 9.5.2 Überschriebene Methoden aufrufen
        6. 9.6 Erweitern, ohne zu erben
        7. 9.7 Den Objekttyp ermitteln
          1. 9.7.1 instanceof und constructor
          2. 9.7.2 Typbestimmung von Objekten mit Object.toString( )
          3. 9.7.3 Duck Typing
        8. 9.8 Beispiel: Eine defineClass( )-Hilfsmethode
      9. 10. Module und Namensräume
        1. 10.1 Namensräume und Module erzeugen
          1. 10.1.1 Die Verfügbarkeit eines Moduls prüfen
          2. 10.1.2 Klassen als Module
          3. 10.1.3 Initialisierungscode für Module
        2. 10.2 Symbole aus Namensräumen importieren
          1. 10.2.1 Öffentliche und private Symbole
          2. 10.2.2 Closures als privater Namensraum und Geltungsbereich
        3. 10.3 Modulwerkzeuge
      10. 11. Mustervergleich mit regulären Ausdrücken
        1. 11.1 Reguläre Ausdrücke definieren
          1. 11.1.1 Literalzeichen
          2. 11.1.2 Zeichenklassen
            1. 11.1.2.1 Nicht-gierige (nongreedy) Wiederholung
          3. 11.1.3 Alternativen, Gruppierung und Referenzen
          4. 11.1.4 Vergleichspositionen angeben
          5. 11.1.5 Flags
          6. 11.1.6 Perl-Funktionen von RegExp, die in JavaScript nicht unterstützt werden
        2. 11.2 String-Methoden für den Mustervergleich
        3. 11.3 Das RegExp-Objekt
          1. 11.3.1 RegExp-Methoden für den Mustervergleich
          2. 11.3.2 Instanzeigenschaften von RegExp
      11. 12. Java skripten
        1. 12.1 JavaScript einbetten
          1. 12.1.1 Typumwandlungen mit javax.script
          2. 12.1.2 Skripten kompilieren
          3. 12.1.3 JavaScript-Funktionen aufrufen
          4. 12.1.4 In JavaScript Interfaces implementieren
        2. 12.2 Java skripten
          1. 12.2.1 Die Klasse JavaPackage
          2. 12.2.2 Die Klasse JavaClass
          3. 12.2.3 Packages und Klassen importieren
          4. 12.2.4 Die Klasse JavaObject
          5. 12.2.5 Java-Methoden
            1. 12.2.5.1 Zugriffsmethoden für Properties
            2. 12.2.5.2 Überladene Methoden
          6. 12.2.6 Die Klasse JavaArray
          7. 12.2.7 Java-Arrays erzeugen
          8. 12.2.8 Mit LiveConnect Interfaces implementieren
          9. 12.2.9 LiveConnect-Datenumwandlung
            1. 12.2.9.1 JavaScript-Umwandlungen von JavaObject-Objekten
    4. II. Clientseitiges JavaScript
      1. 13. JavaScript in Webbrowsern
        1. 13.1 Die Webbrowser-Umgebung
          1. 13.1.1 Das Fenster als globaler Ausführungskontext
          2. 13.1.2 Die clientseitige Objekt-Hierarchie und das Document Object Model
          3. 13.1.3 Event-gesteuertes Programmieren
          4. 13.1.4 Die Rolle von JavaScript im Web
          5. 13.1.5 Barrierefreies JavaScript
        2. 13.2 Skripten in HTML einbetten
          1. 13.2.1 Das <script>-Tag
          2. 13.2.2 Skripten in externen Dateien
          3. 13.2.3 Die Skriptsprache angeben
          4. 13.2.4 Das defer-Attribut
          5. 13.2.5 Das <noscript>-Tag
          6. 13.2.6 Das </script>-Tag
          7. 13.2.7 Skripten vor älteren Browsern verbergen
          8. 13.2.8 Nicht-standardgemäße <script>-Attribute
        3. 13.3 Event-Handler in HTML
        4. 13.4 JavaScript in URLs
          1. 13.4.1 Bookmarklets
        5. 13.5 Ausführung von JavaScript-Programmen
          1. 13.5.1 Skripten ausführen
          2. 13.5.2 Der onload-Event-Handler
          3. 13.5.3 Event-Handler und JavaScript-URLs
          4. 13.5.4 Der onunload-Event-Handler
          5. 13.5.5 Das Window-Objekt als Ausführungskontext
          6. 13.5.6 Das Threading-Modell von clientseitigem JavaScript
          7. 13.5.7 Das Dokument während des Ladens manipulieren
        6. 13.6 Clientseitige Kompatibilität
          1. 13.6.1 Die Geschichte der Inkompatibilität
          2. 13.6.2 Ein Wort zu »modernen Browsern«
          3. 13.6.3 Feature Testing
          4. 13.6.4 Browserermittlung
          5. 13.6.5 Bedingte Kommentare im Internet Explorer
        7. 13.7 Zugänglichkeit
        8. 13.8 JavaScript-Sicherheit
          1. 13.8.1 Was JavaScript nicht machen kann
          2. 13.8.2 Die Same Origin Policy
          3. 13.8.3 Plug-ins und ActiveX-Steuerelemente skripten
          4. 13.8.4 Cross Site Scripting
          5. 13.8.5 Denial-of-Service-Angriffe
        9. 13.9 Andere webbezogene JavaScript-Einbettungen
      2. 14. Browserfenster skripten
        1. 14.1 Timer
        2. 14.2 Die Location- und History-Objekte
          1. 14.2.1 URLs parsen
          2. 14.2.2 Neue Dokumente laden
          3. 14.2.3 Das History-Objekt
        3. 14.3 Window-, Screen- und Browser-Informationen abrufen
          1. 14.3.1 Window-Geometrie
          2. 14.3.2 Das Screen-Objekt
          3. 14.3.3 Das Navigator-Objekt
        4. 14.4 Fenster öffnen und manipulieren
          1. 14.4.1 Fenster öffnen
          2. 14.4.2 Fenster schließen
          3. 14.4.3 Fenster manipulieren
          4. 14.4.4 Tastaturfokus und Sichtbarkeit
          5. 14.4.5 Scrollen
          6. 14.4.6 Beispiel zu Window-Methoden
        5. 14.5 Einfache Dialogfenster
        6. 14.6 Die Statusleiste skripten
        7. 14.7 Fehlerbehandlung
        8. 14.8 Mehrere Fenster und Frames
          1. 14.8.1 Beziehungen zwischen Frames
          2. 14.8.2 Fensternamen und Frame-Namen
          3. 14.8.3 JavaScript in interagierenden Fenstern
        9. 14.9 Beispiel: Eine Navigationsleiste in einem Frame
      3. 15. Dokumente skripten
        1. 15.1 Dynamischer Dokumentinhalt
        2. 15.2 Document-Eigenschaften
        3. 15.3 Alt-DOM: Dokumentobjekt-Sammlungen
          1. 15.3.1 Dokumentobjekten Namen geben
          2. 15.3.2 Event-Handler auf Document-Objekten
          3. 15.3.3 Alt-DOM-Beispiele
        4. 15.4 Überblick über das W3C DOM
          1. 15.4.1 Dokumente als Bäume darstellen
          2. 15.4.2 Knoten
            1. 15.4.2.1 Typen von Knoten
            2. 15.4.2.2 Attribute
          3. 15.4.3 Die DOM HTML API
            1. 15.4.3.1 HTML-Namenskonventionen
          4. 15.4.4 DOM Level und Features
          5. 15.4.5 DOM-Konformität
            1. 15.4.5.1 DOM-Konformität im Internet Explorer
          6. 15.4.6 Sprachunabhängige DOM-Interfaces
        5. 15.5 Ein Dokument durchqueren
        6. 15.6 Elemente in einem Dokument finden
        7. 15.7 Ein Dokument modifizieren
          1. 15.7.1 Attribute verändern
          2. 15.7.2 Mit Dokumentfragmenten arbeiten
        8. 15.8 Einem Dokument Inhalt hinzufügen
          1. 15.8.1 Hilfsmethoden zur Erstellung von Knoten
          2. 15.8.2 Die innerHTML-Eigenschaft
        9. 15.9 Beispiel: Ein dynamisch erzeugtes Inhaltsverzeichnis
        10. 15.10 Ausgewählten Text abfragen
        11. 15.11 Das IE 4 DOM
          1. 15.11.1 Ein Dokument durchqueren
          2. 15.11.2 Dokumentelemente finden
          3. 15.11.3 Dokumente modifizieren
      4. 16. Cascading Style Sheets und dynamisches HTML
        1. 16.1 Überblick über CSS
          1. 16.1.1 Stilregeln auf Elemente eines Dokuments anwenden
          2. 16.1.2 Stylesheets zu Dokumenten zuordnen
          3. 16.1.3 Die Kaskade
          4. 16.1.4 Versionen von CSS
          5. 16.1.5 Ein CSS-Beispiel
        2. 16.2 CSS für DHTML
          1. 16.2.1 Der Schlüssel zu DHTML: Absolute Positionierung
          2. 16.2.2 CSS-Positionierungsbeispiel: Text mit Schatten
          3. 16.2.3 Abfrage der Position und Abmessungen von Elementen
          4. 16.2.4 Die dritte Dimension: z-index
          5. 16.2.5 Anzeige und Sichtbarkeit von Elementen
          6. 16.2.6 Das CSS-Boxmodell und Positionierungsdetails
            1. 16.2.6.1 Eigenheiten des Internet Explorers
          7. 16.2.7 Farbe, Transparenz und Durchsichtigkeit
          8. 16.2.8 Partielle Sichtbarkeit: overflow und clip
          9. 16.2.9 Beispiel: Überlappende durchsichtige Fenster
        3. 16.3 Eingebettete Styles per Skript steuern
          1. 16.3.1 Namenskonventionen: CSS-Eigenschaften in JavaScript
          2. 16.3.2 Arbeiten mit Stileigenschaften
          3. 16.3.3 Beispiel: CSS-Tooltips
          4. 16.3.4 DHTML-Animationen
        4. 16.4 Berechnete Styles per Skript steuern
        5. 16.5 CSS-Klassen per Skript steuern
        6. 16.6 Stylesheets per Skript steuern
          1. 16.6.1 Stylesheets aktivieren und deaktivieren
          2. 16.6.2 Stylesheet-Objekte und Stylesheet-Regeln
      5. 17. Events und Event-Handling
        1. 17.1 Grundlegendes Event-Handling
          1. 17.1.1 Events und Event-Typen
            1. 17.1.1.1 Geräteabhängige und -unabhängige Events
          2. 17.1.2 Event-Handler als Attribute
          3. 17.1.3 Event-Handler als Eigenschaften
          4. 17.1.4 Event-Handler explizit aufrufen
          5. 17.1.5 Rückgabewerte von Event-Handlern
          6. 17.1.6 Event-Handler und das Schlüsselwort this
          7. 17.1.7 Geltungsbereich von Event-Handlern
        2. 17.2 Fortgeschrittenes Event-Handling mit dem DOM Level 2
          1. 17.2.1 Event-Propagation
          2. 17.2.2 Registrierung von Event-Handlern
          3. 17.2.3 addEventListener( ) und das Schlüsselwort this
          4. 17.2.4 Registrierung von Objekten als Event-Handler
          5. 17.2.5 Module und Typen von Events
            1. 17.2.5.1 Event-Interfaces und Event-Informationen
            2. 17.2.5.2 Event
            3. 17.2.5.3 UIEvent
            4. 17.2.5.4 MouseEvent
          6. 17.2.6 Mischen von Event-Modellen
        3. 17.3 Das Event-Modell des Internet Explorers
          1. 17.3.1 Das Event-Objekt des IE
          2. 17.3.2 Das Event-Objekt des IE als globale Variable
          3. 17.3.3 Registrierung von Event-Handlern im IE
          4. 17.3.4 Event-Bubbling im IE
          5. 17.3.5 Abfangen von Maus-Events
          6. 17.3.6 attachEvent( ) und das Schlüsselwort this
          7. 17.3.7 Event-Handler und Speicherlecks
          8. 17.3.8 Beispiel: Event-Modell-Kompatibilität für IE
        4. 17.4 Maus-Events
          1. 17.4.1 Mauskoordinaten konvertieren
          2. 17.4.2 Beispiel: Ziehen von Dokumentelementen
        5. 17.5 Tasten-Events
          1. 17.5.1 Tasten-Event-Typen
          2. 17.5.2 Tasten-Event-Details
          3. 17.5.3 Tastatureingaben filtern
          4. 17.5.4 Tastenkürzel mit einer Keymap
        6. 17.6 Das onload-Event
        7. 17.7 Synthetische Events
      6. 18. Formulare und Formularelemente
        1. 18.1 Das Form-Objekt
        2. 18.2 Definition von Formularelementen
        3. 18.3 Formularelemente skripten
          1. 18.3.1 Formulare und Formularelemente benennen
          2. 18.3.2 Eigenschaften von Formularelementen
          3. 18.3.3 Event-Handler von Formularelementen
          4. 18.3.4 Button-Schaltflächen
          5. 18.3.5 Schalter
          6. 18.3.6 Textfelder
          7. 18.3.7 Select- und Option-Elemente
          8. 18.3.8 Versteckte Elemente
          9. 18.3.9 Fieldset-Elemente
        4. 18.4 Ein Beispiel zur Überprüfung von Formularen
      7. 19. Cookies und Persistenz auf der Clientseite
        1. 19.1 Ein Überblick über Cookies
        2. 19.2 Cookies speichern
          1. 19.2.1 Beschränkungen von Cookies
        3. 19.3 Cookies lesen
        4. 19.4 Ein Cookie-Beispiel
        5. 19.5 Cookie-Alternativen
          1. 19.5.1 IE userData-Persistenz
            1. 19.5.1.1 Hierarchische Daten speichern
            2. 19.5.1.2 Speicherlimits
            3. 19.5.1.3 Persistente Daten gemeinsam benutzen
          2. 19.5.2 Flash-SharedObject-Persistenz
            1. 19.5.2.1 Speicherlimits
            2. 19.5.2.2 Persistente Daten gemeinsam benutzen
          3. 19.5.3 Beispiel: Persistente Objekte
          4. 19.5.4 ActionScript-Code für Flash-Persistenz
        6. 19.6 Persistente Daten und Sicherheit
      8. 20. HTTP skripten
        1. 20.1 Verwendung von XMLHttpRequest
          1. 20.1.1 Wie komme ich an ein Request-Objekt?
          2. 20.1.2 Einen Request übermitteln
          3. 20.1.3 Eine synchrone Antwort erhalten
          4. 20.1.4 Umgang mit einer asynchronen Response
            1. 20.1.4.1 Hinweise für readyState 3
          5. 20.1.5 XMLHttpRequest Security
        2. 20.2 XMLHttpRequest-Beispiele und Utilities
          1. 20.2.1 Einfache GET-Utilities
          2. 20.2.2 Nur Header holen
          3. 20.2.3 HTTP POST
          4. 20.2.4 HTML, XML und JSON-codierte Responses
          5. 20.2.5 Zeitabbruch eines Requests
        3. 20.3 Ajax und dynamisches Skripten
          1. 20.3.1 Ajax-Beispiel
          2. 20.3.2 Einseiten-Anwendungen
          3. 20.3.3 Remote Scripting
          4. 20.3.4 Vorsicht bei Ajax
        4. 20.4 Skriptgesteuertes HTTP mit <script>-Tags
      9. 21. JavaScript und XML
        1. 21.1 XML-Dokumente beschaffen
          1. 21.1.1 Ein neues Dokument erstellen
          2. 21.1.2 Ein Dokument aus dem Netzwerk laden
          3. 21.1.3 XML-Text parsen
          4. 21.1.4 XML-Dokumente aus Dateninseln
        2. 21.2 XML über die DOM API manipulieren
          1. 21.2.1 XML im Vergleich zum HTML DOM
          2. 21.2.2 Beispiel: Aus XML-Daten eine HTML-Tabelle erstellen
        3. 21.3 XML mit XSLT transformieren
        4. 21.4 XML mit XPath abfragen
          1. 21.4.1 XPath-Beispiele
          2. 21.4.2 XPath-Ausdrücke auswerten
          3. 21.4.3 Mehr zur W3C XPath API
        5. 21.5 Serialisierung von XML
        6. 21.6 HTML-Templates mit XML-Daten erweitern
        7. 21.7 XML und Webservices
        8. 21.8 E4X: ECMAScript für XML
      10. 22. Skriptgesteuerte Grafiken auf der Clientseite
        1. 22.1 Skriptgesteuerte Bilder
          1. 22.1.1 Bilder und das Level 0 DOM
          2. 22.1.2 Herkömmliche Bild-Rollover
          3. 22.1.3 Offscreen-Bilder und Caching
          4. 22.1.4 Unauffällige Bild-Rollover
          5. 22.1.5 Bildanimationen
          6. 22.1.6 Weitere Image-Eigenschaften
        2. 22.2 Grafiken mit CSS
          1. 22.2.1 Balkendiagramme mit CSS
          2. 22.2.2 Eine CSSDrawing-Klasse
        3. 22.3 SVG: Scalable Vector Graphics
        4. 22.4 VML: Vector Markup Language
        5. 22.5 Grafiken auf einem <canvas>
        6. 22.6 Grafiken mit Flash
        7. 22.7 Grafiken mit Java
          1. 22.7.1 Tortendiagramme mit Java
          2. 22.7.2 Clientseitige Sparkline-Bilder mit Java
      11. 23. Java-Applets und Flash-Movies skripten
        1. 23.1 Applets skripten
        2. 23.2 Skriptsteuerung des Java-Plug-ins
        3. 23.3 Skriptsteuerung mit Java
          1. 23.3.1 Applets, die JSObject verwenden, kompilieren und einsetzen
          2. 23.3.2 Daten von Java nach JavaScript konvertieren
          3. 23.3.3 Die Common DOM API
        4. 23.4 Flash skripten
          1. 23.4.1 Flash-Movies einbetten und auf sie zugreifen
          2. 23.4.2 Den Flash-Player steuern
          3. 23.4.3 Flash-Movies skripten
          4. 23.4.4 JavaScript von Flash aus aufrufen
          5. 23.4.5 Beispiel: von Flash zu JavaScript und zurück zu Flash
        5. 23.5 Flash 8 skripten
    5. III. Referenz für den JavaScript-Sprachkern
      1. Referenz für den Sprachkern von JavaScript
        1. Beispiel-Referenzeintrag
        2. arguments[ ]
        3. Arguments
        4. Arguments.callee
        5. Arguments.length
        6. Array
        7. Array.concat( )
        8. Array.join( )
        9. Array.length
        10. Array.pop( )
        11. Array.push( )
        12. Array.reverse( )
        13. Array.shift( )
        14. Array.slice( )
        15. Array.sort( )
        16. Array.splice( )
        17. Array.toLocaleString( )
        18. Array.toString( )
        19. Array.unshift( )
        20. Boolean
        21. Boolean.toString( )
        22. Boolean.valueOf( )
        23. Date
        24. Date.getDate( )
        25. Date.getDay( )
        26. Date.getFullYear( )
        27. Date.getHours( )
        28. Date.getMilliseconds( )
        29. Date.getMinutes( )
        30. Date.getMonth( )
        31. Date.getSeconds( )
        32. Date.getTime( )
        33. Date.getTimezoneOffset( )
        34. Date.getUTCDate( )
        35. Date.getUTCDay( )
        36. Date.getUTCFullYear( )
        37. Date.getUTCHours( )
        38. Date.getUTCMilliseconds( )
        39. Date.getUTCMinutes( )
        40. Date.getUTCMonth( )
        41. Date.getUTCSeconds( )
        42. Date.getYear( )
        43. Date.parse( )
        44. Date.setDate( )
        45. Date.setFullYear( )
        46. Date.setHours( )
        47. Date.setMilliseconds( )
        48. Date.setMinutes( )
        49. Date.setMonth( )
        50. Date.setSeconds( )
        51. Date.setTime( )
        52. Date.setUTCDate( )
        53. Date.setUTCFullYear( )
        54. Date.setUTCHours( )
        55. Date.setUTCMilliseconds( )
        56. Date.setUTCMinutes( )
        57. Date.setUTCMonth( )
        58. Date.setUTCSeconds( )
        59. Date.setYear( )
        60. Date.toDateString( )
        61. Date.toGMTString( )
        62. Date.toLocaleDateString( )
        63. Date.toLocaleString( )
        64. Date.toLocaleTimeString( )
        65. Date.toString( )
        66. Date.toTimeString( )
        67. Date.toUTCString( )
        68. Date.UTC( )
        69. Date.valueOf( )
        70. decodeURI( )
        71. decodeURIComponent( )
        72. encodeURI( )
        73. encodeURIComponent( )
        74. Error
        75. Error.message
        76. Error.name
        77. Error.toString( )
        78. escape( )
        79. eval( )
        80. EvalError
        81. Function
        82. Function.apply( )
        83. Function.arguments[]
        84. Function.call( )
        85. Function.caller
        86. Function.length
        87. Function.prototype
        88. Function.toString( )
        89. getClass( )
        90. Global
        91. Infinity
        92. isFinite( )
        93. isNaN( )
        94. Core DOMjava
        95. JavaArray
        96. JavaClass
        97. JavaObject
        98. JavaPackage
        99. JSObject
        100. Math
        101. Math.abs( )
        102. Math.acos( )
        103. Math.asin( )
        104. Math.atan( )
        105. Math.atan2( )
        106. Math.ceil( )
        107. Math.cos( )
        108. Math.E
        109. Math.exp( )
        110. Math.floor( )
        111. Math.LN10
        112. Math.LN2
        113. Math.log( )
        114. Math.LOG10E
        115. Math.LOG2E
        116. Math.max( )
        117. Math.min( )
        118. Math.PI
        119. Math.pow( )
        120. Math.random( )
        121. Math.round( )
        122. Math.sin( )
        123. Math.sqrt( )
        124. Math.SQRT1_2
        125. Math.SQRT2
        126. Math.tan( )
        127. NaN
        128. Number
        129. Number.MAX_VALUE
        130. Number.MIN_VALUE
        131. Number.NaN
        132. Number.NEGATIVE_INFINITY
        133. Number.POSITIVE_INFINITY
        134. Number.toExponential( )
        135. Number.toFixed( )
        136. Number.toLocaleString( )
        137. Number.toPrecision( )
        138. Number.toString( )
        139. Number.valueOf( )
        140. Object
        141. Object.constructor
        142. Object.hasOwnProperty( )
        143. Object.isPrototypeOf( )
        144. Object.propertyIsEnumerable( )
        145. Object.toLocaleString( )
        146. Object.toString( )
        147. Object.valueOf( )
        148. Packages
        149. parseFloat( )
        150. parseInt( )
        151. RangeError
        152. ReferenceError
        153. RegExp
        154. RegExp.exec( )
        155. RegExp.global
        156. RegExp.ignoreCase
        157. RegExp.lastIndex
        158. RegExp.source
        159. RegExp.test( )
        160. RegExp.toString( )
        161. String
        162. String.charAt( )
        163. String.charCodeAt( )
        164. String.concat( )
        165. String.fromCharCode( )
        166. String.indexOf( )
        167. String.lastIndexOf( )
        168. String.length
        169. String.localeCompare( )
        170. String.match( )
        171. String.replace( )
        172. String.search( )
        173. String.slice( )
        174. String.split( )
        175. String.substr( )
        176. String.substring( )
        177. String.toLocaleLowerCase( )
        178. String.toLocaleUpperCase( )
        179. String.toLowerCase( )
        180. String.toString( )
        181. String.toUpperCase( )
        182. String.valueOf( )
        183. SyntaxError
        184. TypeError
        185. undefined
        186. unescape( )
        187. URIError
    6. IV. Referenz für clientseitiges JavaScript
      1. Referenz für clientseitiges JavaScript
        1. Anchor
        2. Anchor.focus( )
        3. Applet
        4. Attr
        5. Button
        6. Canvas
        7. Canvas.getContext( )
        8. CanvasGradient
        9. CanvasGradient.addColorStop( )
        10. CanvasPattern
        11. CanvasRenderingContext2D
        12. CanvasRenderingContext2D.arc( )
        13. CanvasRenderingContext2D.arcTo( )
        14. CanvasRenderingContext2D.beginPath( )
        15. CanvasRenderingContext2D.bezierCurveTo( )
        16. CanvasRenderingContext2D.clearRect( )
        17. CanvasRenderingContext2D.clip( )
        18. CanvasRenderingContext2D.closePath( )
        19. CanvasRenderingContext2D.createLinearGradient( )
        20. CanvasRenderingContext2D.createPattern( )
        21. CanvasRenderingContext2D.createRadialGradient( )
        22. CanvasRenderingContext2D.drawImage( )
        23. CanvasRenderingContext2D.fill( )
        24. CanvasRenderingContext2D.fillRect( )
        25. CanvasRenderingContext2D.globalCompositeOperation
        26. CanvasRenderingContext2D.lineCap
        27. CanvasRenderingContext2D.lineJoin
        28. CanvasRenderingContext2D.lineTo( )
        29. CanvasRenderingContext2D.miterLimit
        30. CanvasRenderingContext2D.moveTo( )
        31. CanvasRenderingContext2D.quadraticCurveTo( )
        32. CanvasRenderingContext2D.rect( )
        33. CanvasRenderingContext2D.restore( )
        34. CanvasRenderingContext2D.rotate( )
        35. CanvasRenderingContext2D.save( )
        36. CanvasRenderingContext2D.scale( )
        37. CanvasRenderingContext2D.stroke( )
        38. CanvasRenderingContext2D.strokeRect( )
        39. CanvasRenderingContext2D.translate( )
        40. CDATASection
        41. CharacterData
        42. CharacterData.appendData( )
        43. CharacterData.deleteData( )
        44. CharacterData.insertData( )
        45. CharacterData.replaceData( )
        46. CharacterData.substringData( )
        47. Checkbox
        48. Comment
        49. CSS2Properties
        50. CSSRule
        51. CSSStyleSheet
        52. CSSStyleSheet.addRule( )
        53. CSSStyleSheet.deleteRule( )
        54. CSSStyleSheet.insertRule( )
        55. CSSStyleSheet.removeRule( )
        56. Document
        57. Document.addEventListener( )
        58. Document.attachEvent( )
        59. Document.createAttribute( )
        60. Document.createAttributeNS( )
        61. Document.createCDATASection( )
        62. Document.createComment( )
        63. Document.createDocumentFragment( )
        64. Document.createElement( )
        65. Document.createElementNS( )
        66. Document.createEvent( )
        67. Document.createExpression( )
        68. Document.createProcessingInstruction( )
        69. Document.createRange( )
        70. Document.createTextNode( )
        71. Document.detachEvent( )
        72. Document.dispatchEvent( )
        73. Document.evaluate( )
        74. Document.getElementById( )
        75. Document.getElementsByTagName( )
        76. Document.getElementsByTagNameNS( )
        77. Document.importNode( )
        78. Document.loadXML( )
        79. Document.removeEventListener( )
        80. DocumentFragment
        81. DocumentType
        82. DOMException
        83. DOMImplementation
        84. DOMImplementation.createDocument( )
        85. DOMImplementation.createDocumentType( )
        86. DOMImplementation.hasFeature( )
        87. DOMParser
        88. DOMParser.parseFromString( )
        89. Element
        90. Element.addEventListener( )
        91. Element.attachEvent( )
        92. Element.detachEvent( )
        93. Element.dispatchEvent( )
        94. Element.getAttribute( )
        95. Element.getAttributeNode( )
        96. Element.getAttributeNodeNS( )
        97. Element.getAttributeNS( )
        98. Element.getElementsByTagName( )
        99. Element.getElementsByTagNameNS( )
        100. Element.hasAttribute( )
        101. Element.hasAttributeNS( )
        102. Element.removeAttribute( )
        103. Element.removeAttributeNode( )
        104. Element.removeAttributeNS( )
        105. Element.removeEventListener( )
        106. Element.setAttribute( )
        107. Element.setAttributeNode( )
        108. Element.setAttributeNodeNS( )
        109. Element.setAttributeNS( )
        110. Event
        111. Event.initEvent( )
        112. Event.preventDefault( )
        113. Event.stopPropagation( )
        114. ExternalInterface
        115. ExternalInterface.addCallback( )
        116. ExternalInterface.call( )
        117. FileUpload
        118. FlashPlayer
        119. FlashPlayer.GetVariable( )
        120. FlashPlayer.GotoFrame( )
        121. FlashPlayer.IsPlaying( )
        122. FlashPlayer.LoadMovie( )
        123. FlashPlayer.Pan( )
        124. FlashPlayer.PercentLoaded( )
        125. FlashPlayer.Play( )
        126. FlashPlayer.Rewind( )
        127. FlashPlayer.SetVariable( )
        128. FlashPlayer.SetZoomRect( )
        129. FlashPlayer.StopPlay( )
        130. FlashPlayer.TotalFrames( )
        131. FlashPlayer.Zoom( )
        132. Form
        133. Form.elements[]
        134. Form.onreset
        135. Form.onsubmit
        136. Form.reset( )
        137. Form.submit( )
        138. Frame
        139. Hidden
        140. History
        141. History.back( )
        142. History.forward( )
        143. History.go( )
        144. HTMLCollection
        145. HTMLCollection.item( )
        146. HTMLCollection.namedItem( )
        147. HTMLDocument
        148. HTMLDocument.all[]
        149. HTMLDocument.close( )
        150. HTMLDocument.cookie
        151. HTMLDocument.domain
        152. HTMLDocument.getElementsByName( )
        153. HTMLDocument.open( )
        154. HTMLDocument.write( )
        155. HTMLDocument.writeln( )
        156. HTMLElement
        157. HTMLElement.onclick
        158. HTMLElement.ondblclick
        159. HTMLElement.onkeydown
        160. HTMLElement.onkeypress
        161. HTMLElement.onkeyup
        162. HTMLElement.onmousedown
        163. HTMLElement.onmousemove
        164. HTMLElement.onmouseout
        165. HTMLElement.onmouseover
        166. HTMLElement.onmouseup
        167. HTMLElement.scrollIntoView( )
        168. IFrame
        169. Image
        170. Image.onabort
        171. Image.onerror
        172. Image.onload
        173. Input
        174. Input.blur( )
        175. Input.click( )
        176. Input.focus( )
        177. Input.onblur
        178. Input.onchange
        179. Input.onclick
        180. Input.onfocus
        181. Input.select( )
        182. JavaArray, JavaClass, JavaObject, JavaPackage
        183. JSObject
        184. JSObject.call( )
        185. JSObject.eval( )
        186. JSObject.getMember( )
        187. JSObject.getSlot( )
        188. JSObject.getWindow( )
        189. JSObject.removeMember( )
        190. JSObject.setMember( )
        191. JSObject.setSlot( )
        192. JSObject.toString( )
        193. KeyEvent
        194. Layer
        195. Link
        196. Link.blur( )
        197. Link.focus( )
        198. Link.onclick
        199. Link.onmouseover
        200. Link.onmouseover
        201. Location
        202. Location.reload( )
        203. Location.replace( )
        204. MimeType
        205. MouseEvent
        206. MouseEvent.initMouseEvent( )
        207. Navigator
        208. Navigator.javaEnabled( )
        209. Node
        210. Node.appendChild( )
        211. Node.cloneNode( )
        212. Node.hasAttributes( )
        213. Node.hasChildNodes( )
        214. Node.insertBefore( )
        215. Node.isSupported( )
        216. Node.normalize( )
        217. Node.removeChild( )
        218. Node.replaceChild( )
        219. Node.selectNodes( )
        220. Node.selectSingleNode( )
        221. Node.transformNode( )
        222. Node.transformNodeToObject( )
        223. NodeList
        224. NodeList.item( )
        225. Option
        226. Packages
        227. Password
        228. Plugin
        229. ProcessingInstruction
        230. Radio
        231. Range
        232. Range.cloneContents( )
        233. Range.cloneRange( )
        234. Range.collapse( )
        235. Range.compareBoundaryPoints( )
        236. Range.deleteContents( )
        237. Range.detach( )
        238. Range.extractContents( )
        239. Range.insertNode( )
        240. Range.selectNode( )
        241. Range.selectNodeContents( )
        242. Range.setEnd( )
        243. Range.setEndAfter( )
        244. Range.setEndBefore( )
        245. Range.setStart( )
        246. Range.setStartAfter( )
        247. Range.setStartBefore( )
        248. Range.surroundContents( )
        249. Range.toString( )
        250. RangeException
        251. Reset
        252. Screen
        253. Select
        254. Select.add( )
        255. Select.blur( )
        256. Select.focus( )
        257. Select.onchange
        258. Select.options[]
        259. Select.remove( )
        260. Style
        261. Submit
        262. Table
        263. Table.createCaption( )
        264. Table.createTFoot( )
        265. Table.createTHead( )
        266. Table.deleteCaption( )
        267. Table.deleteRow( )
        268. Table.deleteTFoot( )
        269. Table.deleteTHead( )
        270. Table.insertRow( )
        271. TableCell
        272. TableRow
        273. TableRow.deleteCell( )
        274. TableRow.insertCell( )
        275. TableSection
        276. TableSection.deleteRow( )
        277. TableSection.insertRow( )
        278. Text
        279. Text.splitText( )
        280. Textarea
        281. Textarea.blur( )
        282. Textarea.focus( )
        283. Textarea.onchange
        284. Textarea.select( )
        285. TextField
        286. UIEvent
        287. UIEvent.initUIEvent( )
        288. Window
        289. Window.addEventListener( )
        290. Window.alert( )
        291. Window.attachEvent( )
        292. Window.blur( )
        293. Window.clearInterval( )
        294. Window.clearTimeout( )
        295. Window.close( )
        296. Window.confirm( )
        297. Window.defaultStatus
        298. Window.detachEvent( )
        299. Window.focus( )
        300. Window.getComputedStyle( )
        301. Window.moveBy( )
        302. Window.moveTo( )
        303. Window.onblur
        304. Window.onerror
        305. Window.onfocus
        306. Window.onload
        307. Window.onresize
        308. Window.onunload
        309. Window.open( )
        310. Window.print( )
        311. Window.prompt( )
        312. Window.removeEventListener( )
        313. Window.resizeBy( )
        314. Window.resizeTo( )
        315. Window.scrollBy( )
        316. Window.scrollTo( )
        317. Window.setInterval( )
        318. Window.setTimeout( )
        319. Window.status
        320. XMLHttpRequest
        321. XMLHttpRequest.abort( )
        322. XMLHttpRequest.getAllResponseHeaders( )
        323. XMLHttpRequest.getResponseHeader( )
        324. XMLHttpRequest.onreadystatechange
        325. XMLHttpRequest.open( )
        326. XMLHttpRequest.send( )
        327. XMLHttpRequest.setRequestHeader( )
        328. XMLSerializer
        329. XMLSerializer.serializeToString( )
        330. XPathExpression
        331. XPathExpression.evaluate( )
        332. XPathResult
        333. XPathResult.iterateNext( )
        334. XPathResult.snapshotItem( )
        335. XSLTProcessor
        336. XSLTProcessor.clearParameters( )
        337. XSLTProcessor.getParameter( )
        338. XSLTProcessor.importStylesheet( )
        339. XSLTProcessor.removeParameter( )
        340. XSLTProcessor.reset( )
        341. XSLTProcessor.setParameter( )
        342. XSLTProcessor.transformToDocument( )
        343. XSLTProcessor.transformToFragment( )
    7. Kolophon