Das JavaScript-Handbuch - Einführung, Praxis und Referenz

Das JavaScript-Handbuch - Einführung, Praxis und Referenz

von: Ralph Steyer

Addison-Wesley Verlag, 2012

ISBN: 9783863240042

Sprache: Deutsch

960 Seiten, Download: 57263 KB

 
Format:  EPUB, PDF, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Das JavaScript-Handbuch - Einführung, Praxis und Referenz



  Das JavaScript-Handbuch - Einführung, Praxis und Referenz 1  
  Übersicht 6  
  Inhalt 8  
     Vorwort 8  
     Teil I Elementare Grundlagen 8  
        1 Einleitung 8  
        2 Die Voraussetzungen schaffen 8  
        3 Auf die Plätze, fertig, los 9  
        4 JavaScript-Grundstrukturen 9  
        5 Eventhandler 10  
     Teil II Objekte 11  
        6 Objekte und Klassen in JavaScript – Grundlagen 11  
        7 Native Objekte und Klassenelemente in JavaScript 11  
        8 DOM – das Mysterium der JavaScript-Welt 13  
        9 Objekterweiterung, Prototyping und die Erstellung eigener Konstruktormethoden 13  
     Teil III Erweiterte JavaScript-Techniken 14  
        10 Erweiterte JavaScript-Techniken 14  
        11 Fenster und Frames 14  
        12 Browserauswertung 15  
        13 Zugriff auf Webformulare 15  
        14 Ereignisbehandlung und das event-Objekt 15  
        15 Ausnahmebehandlung 16  
        16 DHTML und Animationstechniken 16  
        17 JavaScript jenseits der Version 1.5 und ECMAScript 5 16  
        18 Fehlersuche und Fehler vermeiden 17  
        19 JsUnit – testgetriebene Entwicklung mit JavaScript 17  
        20 Sicherheit und Optimierung 18  
     Teil IV Kommunikation zwischen Client und Server 19  
        21 Diener und Herr 19  
        22 Das Datenformat 19  
        23 AJAX und das Web 2.0 19  
     Teil V APIs, Frameworks & Toolkits 20  
        24 Frameworks, Toolkit und APIs 20  
        25 JavaScript-Frameworks 20  
        26 Google Web APIs und das Google Web Toolkit – GWT 21  
        27 Web-APIs von Microsoft – Bing 21  
        28 Das YUI und die Yahoo! Web APIs und Web Services 21  
     A Anhang 22  
     Index 22  
  Vorwort 24  
  Teil I Elementare Grundlagen 30  
     1 Einleitung 32  
        1.1 Über das Buch 33  
           1.1.1 An wen sich das Buch wendet und was Sie schon wissen sollten 33  
           1.1.2 Wie dieses Buch organisiert ist 34  
           1.1.3 Was Sie in dem Buch lernen 35  
           1.1.4 Schreibkonventionen 36  
           1.1.5 Die Quellcodes 36  
        1.2 Was ist JavaScript? 37  
           1.2.1 Die Geschichte von JavaScript 38  
           1.2.2 Die Versionszyklen von JavaScript 39  
           1.2.3 Was funktioniert wo? 41  
        1.3 Der Aufbau von Skriptsprachen und die Rolle des Interpreters 43  
        1.4 Zusammenfassung 44  
     2 Die Voraussetzungen schaffen 46  
        2.1 Hardware und Betriebssystem 46  
           2.1.1 Verschiedene Betriebssysteme als Testumgebungen 47  
        2.2 Die Browser 49  
           2.2.1 Benchmark your Webbrowser 52  
        2.3 Der Webserver 54  
        2.4 Die Entwicklungs-Tools 57  
           2.4.1 Integrierte Entwicklungsumgebungen 59  
           2.4.2 Pimp my Firefox – Browser auf Basis von Mozilla aufrüsten 60  
           2.4.3 Pimp my Internet Explorer? 65  
        2.5 Sonstige Software 67  
           2.5.1 Grafikprogramme 67  
           2.5.2 Übertragungssoftware 68  
        2.6 Zusammenfassung 70  
     3 Auf die Plätze, fertig, los 72  
        3.1 Projekte – nichts als Projekte 73  
        3.2 Erste praktische Beispiele 75  
           3.2.1 Identifizierung eines Browsers 76  
           3.2.2 Die Bildschirmauflösung eines Besuchers ermitteln 79  
           3.2.3 Anzeige des aktuellen Datums und der aktuellen Zeit 80  
           3.2.4 Ein neues Browserfenster öffnen 82  
           3.2.5 Eine Grafik in einer Webseite dynamisch austauschen 83  
        3.3 JavaScript in Webseiten einbinden 86  
           3.3.1 Die Inline-Referenz 87  
           3.3.2 Die direkte Notation eines Skriptcontainers in der Webseite 88  
           3.3.3 Der 96  
           3.3.4 JavaScripts über externe Dateien referenzieren 96  
        3.4 Kann ich testen, ob bei einem Browser JavaScript aktiviert ist? 99  
        3.5 Zusammenfassung 101  
     4 JavaScript-Grundstrukturen 102  
        4.1 Kommentare in JavaScript 103  
           4.1.1 Mehrzeilige Kommentare 103  
           4.1.2 Einzeilige Kommentare 104  
        4.2 Token und Parser 104  
           4.2.1 Token 105  
           4.2.2 Parser 105  
        4.3 Schlüsselwörter in JavaScript 105  
        4.4 Datentypen, Variablen und Literale 108  
           4.4.1 Variablen 108  
           4.4.2 Literale 108  
           4.4.3 Datentypen und Typisierung 109  
           4.4.4 Variablen anlegen 113  
           4.4.5 Ein vollständiges Beispiel zu den Details mit Variablen 116  
        4.5 Funktionen, Prozeduren und Methoden 118  
           4.5.1 Form 3 eines Unterprogramms – Methoden 119  
           4.5.2 Verwendung von vordefinierten Funktionen 120  
           4.5.3 Die Definition eigener Funktionen 123  
           4.5.4 Der Aufruf eigener Funktionen 125  
           4.5.5 Ein Beispiel für selbst definierte Funktionen 126  
           4.5.6 Verwendung von externen JavaScript-Dateien als Funktionsbibliotheken 127  
           4.5.7 Lokale Variablen in Funktionen 130  
           4.5.8 Flexible Anzahl an Funktionsargumenten und der Token arguments 133  
           4.5.9 Rekursive Funktionsaufrufe 141  
           4.5.10 Funktionsreferenzen 144  
           4.5.11 Benannte versus anonyme Funktion 146  
           4.5.12 Innere Funktionen 147  
           4.5.13 Callbacks 148  
        4.6 Anweisungen 155  
           4.6.1 Blöcke 155  
           4.6.2 Ausdrücke 156  
           4.6.3 Operatoren 157  
           4.6.4 Boolesche Operatoren 160  
           4.6.5 Logische Operatoren 161  
           4.6.6 Zuweisungsoperatoren 163  
           4.6.7 Bitweise Operatoren 163  
           4.6.8 Die Operatorenrangfolge 170  
        4.7 Steuerzeichen bei Zeichenketten 171  
        4.8 Kontrollstrukturen in JavaScript 172  
           4.8.1 Die if-Bedingung 172  
           4.8.2 Die switch-Fallunterscheidung 174  
           4.8.3 Die while-Schleife 177  
           4.8.4 Die do-while-Schleife 181  
           4.8.5 Die for-Schleife und die for-in-Schleife 183  
           4.8.6 Gezielte Abbrüche von Schleifen mit break und ­continue 185  
        4.9 Ein erster Blick auf Objekte und das ­DOM-Konzept 186  
           4.9.1 Was sind Objekte? 187  
           4.9.2 Wie entstehen Objekte? 188  
        4.10 Zusammenfassung 190  
     5 Eventhandler 192  
        5.1 Was versteht man unter einem Ereignis? 193  
           5.1.1 Eventhandler in HTML bzw. XHTML 194  
           5.1.2 Eventhandler in JavaScript 196  
           5.1.3 HTML- bzw. XHTML- versus JavaScript-Eventhandler 197  
        5.2 Verschiedene Ereignisse 198  
           5.2.1 Laden und Verlassen der Webseite 198  
           5.2.2 Aufruf beim Klick auf ein sensitives Element 202  
           5.2.3 Aufruf beim Überstreichen mit dem Mauszeiger 208  
           5.2.4 Reaktion auf Mausbewegungen 210  
           5.2.5 Die Tastaturereignisse 210  
           5.2.6 Selektieren von Text 213  
           5.2.7 Unterbrechung eines Bildladevorgangs 215  
           5.2.8 Formularereignisse 216  
           5.2.9 Reaktion auf Zurücksetzen oder Absenden eines Formulars 218  
        5.3 Zusammenfassung 221  
  Teil II Objekte 222  
     6 Objekte und Klassen in JavaScript – Grundlagen 224  
        6.1 Was sind Objekte? 225  
           6.1.1 Die grundsätzliche Definition der objektorientierten Programmierung 225  
        6.2 Klassen, Instanzen und Vererbung 226  
           6.2.1 Vererbung 226  
        6.3 JavaScript-Objekte erzeugen 227  
           6.3.1 Test auf die Existenz eines Objekts 231  
        6.4 Object – ganz oben im Baum 232  
           6.4.1 Eigenschaften von Object 232  
           6.4.2 Methoden von Object 233  
        6.5 Klassenmethoden und Klasseneigenschaften verwenden 237  
        6.6 Zusammenfassung 239  
     7 Native Objekte und Klassenelemente in JavaScript 240  
        7.1 Datenfelder 241  
           7.1.1 Wozu benötigt man Datenfelder? 241  
           7.1.2 Datenfelder erzeugen 242  
           7.1.3 Zugriff auf Elemente im Datenfeld 243  
           7.1.4 Die Array-Notation 246  
           7.1.5 Methoden und Eigenschaften von Datenfeldern 250  
        7.2 Objekte vom Typ Boolean 256  
        7.3 Datumsoperationen mit Date 257  
           7.3.1 Die Methoden von Date 259  
           7.3.2 Erzeugen eines Datumsobjekts mit einem vorgegebenen Datum 262  
           7.3.3 Ein Schaltjahr bestimmen 264  
           7.3.4 Festlegen des Ablaufdatums für den Inhalt einer Webseite 266  
           7.3.5 Berechnen der Zeitspanne bis zu einem bestimmten Termin 269  
           7.3.6 Das Erstellungsdatum einer Webseite per JavaScript faken 271  
           7.3.7 Veränderte Inhalte auf Grund des Datums 274  
           7.3.8 Die zeitgesteuerte optische Veränderung einer Seite 277  
           7.3.9 Eine Datumsangabe in den IETF-Standard oder eine lokale Darstellung umwandeln 279  
           7.3.10 Die Berechnung regelmäßiger Termine 283  
           7.3.11 Den Unterschied zwischen der lokalen Zeit und Greenwich Mean Time ermitteln 284  
        7.4 String-Operationen 285  
           7.4.1 Methoden von Zeichenketten 286  
           7.4.2 Die Länge einer Zeichenkette und verschiedene String-Methoden 290  
           7.4.3 Die Unicode-Kodierung von Zeichen bestimmen 291  
           7.4.4 Aus Unicode Zeichenketten erzeugen 293  
           7.4.5 Einen Teil eines Strings extrahieren 295  
           7.4.6 Einen String an einem definierten Trennzeichen in ein Datenfeld aufspalten 297  
        7.5 Reguläre Ausdrücke 298  
           7.5.1 Was sind reguläre Ausdrücke? 299  
           7.5.2 Objekte vom Typ RegExp 304  
           7.5.3 Test auf eine gültige E-Mail-Adresse und einen korrekten Usernamen mit test() 308  
           7.5.4 Verwertung des resultierenden Datenfelds beim Durchsuchen eines Strings mit exec() 310  
           7.5.5 Extrahierung der Versionsnummer eines Browsers mit exec() und Auswertung von geklammerten Teilen 312  
           7.5.6 Suchen und Ersetzen von Suchpattern mit search() und replace() 314  
           7.5.7 Sperren bestimmter Eingaben in einem Webformularfeld mit regulären Ausdrücken und der match()- beziehungsweise replace()-Methode 315  
        7.6 Objekte vom Typ Function 318  
        7.7 Nutzen von Klassenelementen aus Math 321  
           7.7.1 Eigenschaften bzw. Konstanten 321  
           7.7.2 Methoden 321  
        7.8 Objekte und Klassenelemente von Number 324  
           7.8.1 Eigenschaften von Number 324  
           7.8.2 Methoden von Number 326  
        7.9 Zusammenfassung 330  
     8 DOM – das Mysterium der JavaScript-Welt 332  
        8.1 Was ist das DOM-Konzept? 333  
           8.1.1 Grundsätzliches zum Weg durch den DOM 334  
        8.2 Die verfügbaren DOM-Objekte 338  
           8.2.1 Das Konzept der Objektfelder 340  
        8.3 Generelle Zugriffsmöglichkeiten auf DOM-Objekte 341  
           8.3.1 Der Zugriff über einen Namen – getElementsByName() 342  
           8.3.2 Zugriff über eine ID – getElementById() 344  
           8.3.3 Zugriff über den Elementnamen – getElementsByTagName() 345  
           8.3.4 Der kurze Dienstweg – this 346  
        8.4 Zugriff auf Inhalte von Elementen in der Webseite 348  
           8.4.1 Zugriff auf Textinhalte 348  
           8.4.2 Zugriff auf Formularinhalte 349  
           8.4.3 Zugriff auf klassische HTML-Attribute 349  
           8.4.4 Zugriff über nodeValue 354  
        8.5 Das Objekt document 354  
           8.5.1 Die Eigenschaften 354  
           8.5.2 Die Methoden von document 372  
        8.6 Das node-Objekt 379  
           8.6.1 Knotenarten 379  
           8.6.2 Die Eigenschaften eines node-Objekts 381  
           8.6.3 Die Methoden eines node-Objekts 388  
        8.7 Zusammenfassung 393  
     9 Objekterweiterung, Prototyping und die Erstellung eigener Konstruktormethoden 394  
        9.1 Ein einzelnes Objekt erweitern 395  
        9.2 Was zeichnet eine Methode gegenüber einer normalen Funktion aus? 397  
        9.3 Was ist Prototyping? 398  
        9.4 Erstellen von Konstruktormethoden 407  
           9.4.1 Was zeichnet eine Konstruktormethode aus? 407  
           9.4.2 this bei Konstruktormethoden 408  
           9.4.3 Vererbung mit Prototyping simulieren 413  
        9.5 Datenkapselung 415  
        9.6 Zusammenfassung 420  
  Teil III Erweiterte JavaScript-Techniken 422  
     10 Erweiterte JavaScript-Techniken 424  
        10.1 Was umfasst dieser Abschnitt? 425  
        10.2 Zusammenfassung 427  
     11 Fenster und Frames 428  
        11.1 Der Toplevel und die reservierten Fensternamen 429  
        11.2 Die Eigenschaften und Methoden des window-Objekts 429  
           11.2.1 Eigenschaften 430  
           11.2.2 Die Methoden von window 431  
        11.3 Anwendungen mit Fenstern 435  
           11.3.1 Öffnen und Schließen eines Fensters 435  
           11.3.2 Positionieren und in der Größe festlegen 447  
           11.3.3 Automatische Weiterleitung von Besuchern 451  
           11.3.4 Standarddialogfenster von window 452  
           11.3.5 Die Startseite des Browsers aufrufen 455  
           11.3.6 Zugriff auf die Statuszeile des Browsers 456  
           11.3.7 Eine Aktion zeitverzögert aufrufen 458  
           11.3.8 Zugriff auf die Adresszeile des Webbrowsers 461  
        11.4 Frames, IFrames und das Objektfeld frames 470  
           11.4.1 Die Eigenschaften und Methoden von Frame-Objekten 471  
           11.4.2 Gleichzeitiges Aktualisieren mehrerer Frames 472  
           11.4.3 Daten aus IFrames laden – ein unsichtbarer ­Datenspeicher 474  
           11.4.4 Daten in einem IFrame speichern 479  
           11.4.5 Verhindern, dass eine Datei in einem Frameset ­angezeigt wird 481  
        11.5 Zugriff auf die History des Webbrowsers 482  
           11.5.1 Die Anzahl der Einträge in der History eines ­Besuchers 482  
           11.5.2 Aufruf der zuletzt besuchten Seite 482  
        11.6 Zugriff auf Bildschirminformationen eines Besuchers 483  
           11.6.1 Die Bildschirmaufl ösung 483  
           11.6.2 Die Farbauflösung bei einem Besucher 485  
        11.7 Zusammenfassung 486  
     12 Browserauswertung 488  
        12.1 Das Objekt navigator 489  
        12.2 Die Browserkennung 490  
           12.2.1 Suche nach spezifischen Informationen in navigator.appName, navigator.appVersion und navigator.userAgent 491  
           12.2.2 Indirekte Identifizierung eines Browsers unter Ausnutzung eines Mangels 495  
           12.2.3 Was ist die sinnvollste Identifizierungstechnik? 497  
           12.2.4 Die Spracheinstellung eines Browsers 498  
        12.3 Java-Unterstützung bei einem Browser testen 500  
        12.4 Bestimmung, welche Plug-ins ein Browser unterstützt 501  
        12.5 Bestimmung, welche MIME-Types ein Browser unterstützt 505  
        12.6 Eine Browserweiche erstellen 509  
        12.7 Zusammenfassung 516  
     13 Zugriff auf Webformulare 518  
        13.1 Das Formularobjekt 519  
           13.1.1 Die Eigenschaften eine Formularobjekts 519  
           13.1.2 Die Methoden 520  
           13.1.3 Die Elemente in dem Webformular 520  
           13.1.4 Das Objektfeld options 522  
        13.2 Zugriff auf ein Webformular per JavaScript 523  
           13.2.1 Zugriff auf den Wert eines Formularelements 523  
        13.3 Verschicken und Zurücksetzen von Formulardaten 538  
        13.4 Plausibilisieren von Formularen 539  
           13.4.1 Abbruch von Aktionen 541  
           13.4.2 Fehlerreaktion 541  
           13.4.3 Ein Beispiel mit Plausibilisierung 542  
        13.5 Zusammenfassung 546  
     14 Ereignisbehandlung und das event-Objekt 548  
        14.1 Grundlagen zu Ereignisobjekten 549  
           14.1.1 Blubbern 549  
           14.1.2 Die Informationen im Ereignisobjekt 550  
        14.2 Das Ereignisobjekt verwenden 550  
           14.2.1 Das Netscape-Ereignismodell 551  
           14.2.2 Das Microsoft-Ereignismodell 552  
           14.2.3 Die konkrete Verwertung eines Ereignisobjekts 553  
        14.3 Eine universelle Ereignisbehandlung 561  
        14.4 Globale Ereignisbehandlung in JavaScript 565  
           14.4.1 Registrierung eines Listeners 565  
           14.4.2 Das Alternativkonzept im Microsoft-Modell 568  
           14.4.3 Eine universelle Funktion zur Registrierung eines Listener 569  
        14.5 Zusammenfassung 571  
     15 Ausnahmebehandlung 572  
        15.1 Was ist eine Ausnahme? 573  
           15.1.1 Wozu dient ein Ausnahmekonzept? 574  
           15.1.2 Die verschiedene Ausnahmetypen 577  
        15.2 Das Auffangen einer Ausnahme 578  
        15.3 Selbst definierte Ausnahmen erzeugen und verwenden 585  
           15.3.1 Erstellen einer selbst definierten Ausnahme 586  
           15.3.2 Auswerfen von Ausnahmen 586  
           15.3.3 Freie Benutzereingaben mit dem Ausnahmekonzept absichern 591  
        15.4 Mehrere Ausnahmen behandeln 595  
        15.5 Zusammenfassung 596  
     16 DHTML und Animations­techniken 598  
        16.1 DHTML mit reinem JavaScript 599  
           16.1.1 Eine Animation durch Manipulation von Grafiken 603  
        16.2 Verbinden von JavaScript und Stylesheets über style 607  
           16.2.1 Die Eigenschaften von style 607  
           16.2.2 Die Methoden von style 612  
           16.2.3 Mit style eine Webseite formatieren 613  
           16.2.4 Den Mauszeiger verändern 614  
           16.2.5 Ein Farbwähler für die Hintergrundfarbe 617  
           16.2.6 Die Webseite dynamisch verändern 623  
           16.2.7 Eine Animation durch Manipulation von Grafiken (style-Version) 627  
           16.2.8 Eine Interaktionskomponente dynamisieren 630  
           16.2.9 Ein blinkender Text als Animation mit style 633  
        16.3 Zusammenfassung 635  
     17 JavaScript jenseits der Version 1.5 und ECMAScript 5 636  
        17.1 Neue Datenfeldmethoden in JavaScript 1.6 637  
           17.1.1 Methoden zum Indexzugriff 637  
           17.1.2 Iterative Methoden für Datenfelder 639  
        17.2 E4X – XML in JavaScript 642  
           17.2.1 Erstellen eines E4X XML-Objekts 642  
           17.2.2 Variablen in E4X 645  
           17.2.3 Zugriff auf Attribute über das E4X–XML-Objekt 647  
           17.2.4 Die Arbeit mit E4X–XML-Objekten 649  
           17.2.5 Methoden eines E4X–XML-Objekts 652  
           17.2.6 Der Umgang mit Objekten vom Typ XMLList 653  
        17.3 JavaScript 1.7 und 1.8 655  
           17.3.1 JavaScript 1.7 655  
           17.3.2 JavaScript 1.8 657  
        17.4 ECMAScript 5 657  
           17.4.1 JSON 658  
           17.4.2 Objekte schützen 659  
           17.4.3 Ein paar neue offizielle Datenfeldmethoden 659  
           17.4.4 Strenger Verarbeitungsmodus 659  
           17.4.5 Neue Art der Objekteigenschaften und Zugriffsbeschränkungen auf Objekte 660  
           17.4.6 Multithreading über Web Workers 661  
        17.5 Zusammenfassung 663  
     18 Fehlersuche und Fehler vermeiden 664  
        18.1 Welche Fehler gibt es? 665  
           18.1.1 Typografische Fehler 666  
           18.1.2 Syntaktische Fehler 667  
           18.1.3 Laufzeitfehler 667  
        18.2 Gegenmaßnahmen – Fehler verhindern, abfangen und korrekte Versionen sichern 668  
           18.2.1 Vernünftige Sicherungsmaßnahmen – Versionierung 668  
           18.2.2 Fehler zur Laufzeit abfangen 668  
        18.3 Fehler suchen 669  
           18.3.1 Fehler ohne Debugger finden 669  
           18.3.2 Fehlersuche mit einem Debugger 671  
        18.4 Fehler beheben 682  
        18.5 Zusammenfassung 683  
     19 JsUnit – testgetriebene Entwicklung mit JavaScript 684  
        19.1 Was sind Unit-Tests? 686  
           19.1.1 Wie arbeitet man grundsätzlich bei testgetriebener Entwicklung mit xUnit? 686  
           19.1.2 Vorzüge von TDD mittels Unit-Testing 687  
           19.1.3 Probleme von TDD 688  
           19.1.4 Fazit pro und contra 689  
        19.2 Das Ergebnis eines xUnit-Tests 689  
        19.3 Download und Installation des JsUnit-Frameworks 689  
        19.4 Testseiten und Testfunktionen 691  
           19.4.1 Der Aufbau von Testfunktionen 692  
           19.4.2 Ausführen eines Tests über den JsUnit Test Runner 695  
        19.5 Bessere Tests 700  
           19.5.1 Level der Verfolgung 700  
           19.5.2 Die Standardfunktionen zur Verfolgung 701  
        19.6 Zusammenfassung 707  
     20 Sicherheit und Optimierung 708  
        20.1 Welche Sicherheitslücken weist JavaScript auf? 709  
           20.1.1 Signierte Skripte und Sicherheitseinstellungen der Browser 710  
           20.1.2 Das Motiv 714  
           20.1.3 Was geht wirklich mit JavaScript? 715  
        20.2 Wie kann man seine Skripte schützen? 718  
           20.2.1 Diebstahl geistigen Eigentums 719  
           20.2.2 Veränderung 722  
           20.2.3 Deaktivierung durch den Anwender 722  
        20.3 Optimierung 722  
           20.3.1 Interpreterprinzip = langsam – JIT = schnell 723  
           20.3.2 Reduzierung der Skriptgröße 724  
           20.3.3 Externe JavaScript-Dateien einsetzen und Kodierung kennzeichnen 725  
           20.3.4 Auf die überflüssige Erstellung von Objekten verzichten und insbesondere keine Funktionsobjekte benutzen 725  
           20.3.5 Überflüssige Ausnahmenbehandlung vermeiden 725  
           20.3.6 Kein eval() 725  
           20.3.7 Die Anweisung with() mit Bedacht einsetzen 726  
           20.3.8 Variablen bei der Deklaration immer mit einem Wert versehen und nach Möglichkeit explizit als lokal kennzeichnen 726  
           20.3.9 Die Anweisung for-in kann ineffektiv sein 726  
           20.3.10 Bei setTimeout() und setInterval() Funktionsreferenzen oder anonyme Funktionen verwenden 727  
           20.3.11 Den DOM der Webseite nicht permanent dynamisch verändern 727  
        20.4 Zusammenfassung 727  
  Teil IV Kommunikation zwischen Client und Server 730  
     21 Diener und Herr 732  
        21.1 Die Beziehung zwischen Webserver und Browser 733  
           21.1.1 Der grundsätzliche Ablauf einer Kommunikation zwischen Herr und Diener – HTTP 733  
           21.1.2 Verbindungsorientierte Datenkommunikation 735  
           21.1.3 Zustandslose Datenkommunikation 735  
           21.1.4 Die HTTP-Details und die HTTP-Header 735  
           21.1.5 Der HTTP-Request 736  
           21.1.6 Der HTTP-Response 738  
           21.1.7 Die Methoden der Datenübertragung per HTTP 739  
        21.2 Die Meldungen eines Webservers 741  
        21.3 Zusammenfassung 742  
     22 Das Datenformat 744  
        22.1 Binäre Ressourcen 745  
        22.2 Klartextdatenformate 745  
           22.2.1 Vollständige HTML- und XHTML-Dateien 746  
           22.2.2 HTML-Fragmente 746  
           22.2.3 Reiner Klartext 747  
           22.2.4 Klartext mit Struktur und beliebiger Logik 747  
        22.3 Zusammenfassung 755  
     23 AJAX und das Web 2.0 756  
        23.1 Was ist AJAX und was bedeutet Web 2.0? 757  
           23.1.1 AJAX als technische Basis des Web 2.0 758  
        23.2 Der grundsätzliche Ablauf einer AJAX-Anfrage und das XMLHttpRequest-Objekt (XHR) 762  
           23.2.1 Der grundsätzliche Ablauf 762  
           23.2.2 Ein XMLHttpRequest-Objekt erzeugen 763  
        23.3 Die Anforderung von Daten 766  
           23.3.1 Die Methoden eines XHR-Objekts 766  
           23.3.2 Die Eigenschaften eines XMLHttpRequest-Objekts 768  
        23.4 Verschiedene Datentypen vom Server per AJAX ­nachfordern 770  
           23.4.1 Eine reine Textdatei mit AJAX nachfordern 770  
           23.4.2 Übergabe von Werten an den Webserver 779  
           23.4.3 Nachfordern von XML-Daten 781  
           23.4.4 JSON-Daten anfordern und verarbeiten 789  
           23.4.5 Ein praktisches Beispiel mit Auswertung der HTTP-Header 792  
        23.5 Statusinformationen für den Anwender 794  
           23.5.1 Die Auswertung des Statuscodes des Servers 794  
        23.6 Zusammenfassung 798  
  Teil V APIs, Frameworks & Toolkits 800  
     24 Frameworks, Toolkit und APIs 802  
        24.1 Was versteht man unter den Definitionen Framework, Toolkit und API? 803  
           24.1.1 Framework vs. Toolkit 803  
           24.1.2 Web APIs 803  
           24.1.3 Für wen lohnen sich Frameworks, Toolkits und fremde APIs? 804  
           24.1.4 AJAX als Titel für APIs, Frameworks und Toolkits – nur Mogelpackungen? 806  
        24.2 Verschiedene Ansätze für Frameworks und Toolkits 806  
        24.3 Zusammenfassung 807  
     25 JavaScript-Frameworks 808  
        25.1 jQuery 809  
           25.1.1 Download und Installation 809  
           25.1.2 Zugriff auf Elemente der Webseite 811  
           25.1.3 Die Webseite durchlaufen oder manipulieren 813  
           25.1.4 Praktische jQuery-Beispiele 814  
           25.1.5 AJAX und jQuery 821  
           25.1.6 Das jQuery UI 825  
        25.2 Das Dojo-Toolkit 827  
           25.2.1 Download des Dojo Toolkits oder direkte Einbindung aus dem Internet 829  
           25.2.2 Ein Überblick 829  
           25.2.3 Die Datei dojo.js – die Verwaltungszentrale 831  
           25.2.4 Der Einstieg ins Geschäft 831  
           25.2.5 Das Grundgerüst einer Dojo-Applikation 834  
           25.2.6 Die require()-Methode und das Dojo-Paketsystem 835  
           25.2.7 Namensräume 836  
           25.2.8 Schutz des DOM – die Methode dojo.addOnLoad() 839  
           25.2.9 Der Dojo-Typ und das gerenderte Widget 840  
           25.2.10 Ein Beispiel mit Dojo-Widgets 841  
           25.2.11 Das Dijit – Dojo Widget Library 844  
        25.3 Prototype 844  
           25.3.1 Der Einstieg 845  
           25.3.2 Shortcuts 846  
           25.3.3 Try.these() – Ausnahmebehandlung mit Prototype 849  
           25.3.4 document.getElementsByClassName() 850  
           25.3.5 Prototype und AJAX 850  
        25.4 Zusammenfassung 853  
     26 Google Web APIs und das Google Web Toolkit – GWT 856  
        26.1 Die Google Web APIs 857  
           26.1.1 Die gemeinsame Basis 858  
           26.1.2 Das Google Maps API 859  
           26.1.3 Das Google AJAX Feed API 870  
           26.1.4 Das Google AJAX Search API 873  
        26.2 Was ist das GWT? 879  
           26.2.1 Warum mit dem GWT arbeiten? 880  
           26.2.2 Kontra GWT 883  
           26.2.3 Der Aufbau eines typischen GWT-Entwicklungszyklus 884  
           26.2.4 Download und Installation 885  
           26.2.5 Die GWT-Beispielapplikationen ausführen 889  
           26.2.6 Der GWT Development Mode 889  
           26.2.7 Aufruf von Applikationen im GWT Development Mode 889  
           26.2.8 Erstellen einer eigenen Applikation 893  
           26.2.9 Vorhandene Beispiele erweitern und modifizieren 896  
        26.3 Zusammenfassung 901  
     27 Web-APIs von Microsoft – Bing 902  
        27.1 Das Bing API 903  
        27.2 Die Windows Live ID und die AppID 904  
        27.3 Das Bing API aus einer Webapplikation verwenden 905  
           27.3.1 Der Umgang mit der Antwort 907  
        27.4 Zusammenfassung 911  
     28 Das YUI und die Yahoo! Web APIs und Web Services 912  
        28.1 Die Web APIs und Web Services 912  
        28.2 Das YUI 913  
           28.2.1 Ein Überblick 915  
           28.2.2 Die Bestandteile von YUI 915  
           28.2.3 Die Struktur der YUI-Bibliothek 916  
           28.2.4 Die konkrete Anwendung des YUI 917  
           28.2.5 Wie gehen Sie zum Einstieg am besten vor? 918  
           28.2.6 Exemplarisches Anpassen eines Beispiels 919  
        28.3 Zusammenfassung 923  
  A Anhang 924  
     A.1 Quellen 924  
     A.2 Die Buch-CD 927  
     A.3 HTML und XHTML – grundlegende Details 927  
        A.3.1 Steueranweisungen 927  
        A.3.2 Parameter 928  
        A.3.3 Strukturierung einer Webseite mit HTML 929  
     A.4 Grundlagen Stylesheets 930  
        A.4.1 Kaskadierung von Regeln 930  
        A.4.2 Die konkrete Syntax von CSS-Deklarationen 930  
     A.5 Das hexadezimale Zahlensystem 931  
     A.6 Der ISO-Latin-1-Zeichensatz 931  
     A.7 Add-ons für Firefox 940  
  Index 944  
     Symbole 944  
     A 944  
     B 945  
     C 946  
     D 947  
     E 948  
     F 949  
     G 950  
     H 951  
     I 951  
     J 952  
     K 952  
     L 953  
     M 953  
     N 954  
     O 954  
     P 955  
     Q 956  
     R 956  
     S 957  
     T 958  
     U 959  
     V 960  
     W 960  
     X 961  
     Y 961  
     Z 961  
  Copyright 962  

Kategorien

Service

Info/Kontakt