Upload
kamalessahibi
View
44
Download
0
Embed Size (px)
Citation preview
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 1/9
S h e l l e y P o w e r s
Débuter en
JavaScript
© Groupe Eyrolles, 2007,
ISBN : 978-2-212-12093-6
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 2/9
Table des matières
Avant-Propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII
CHAPITRE 1
Introduction et premières expériences . . . . . . . . . . . . . . . . . . . . . 1
Histoire de JavaScript : spécifications et implémentations . . . . . . . . . . . . 2
Incompatibilités des navigateurs et autres mythes JavaScript . . . . . . . . . . 5
Ce que vous pouvez faire avec JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . 5
Premier contact avec JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
L’élément script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Où placer le code JavaScript ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Cacher les scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Les fichiers JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Les commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Les objets du navigateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les objets standards JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les fonctions JavaScript définies par l’utilisateur . . . . . . . . . . . . . . . . . . 14
Les gestionnaires d’événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Le mot-clé var et la portée des variables . . . . . . . . . . . . . . . . . . . . . . . . . 16
L’opérateur de propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Les instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Ce que vous n’avez pas vu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
La « sandbox » JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Les meilleures pratiques en matière d’accessibilité . . . . . . . . . . . . . . . . . . 19
Les règles de l’accessibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
noscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Une alternative à noscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 3/9
Débuter en JavaScriptVI
CHAPITRE 2
Les types de données et les variables JavaScript . . . . . . . . . . 27
Identifier les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Portée des identificateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Les types simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Le type string (chaîne de caractères) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Le type boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Le type number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Null et undefined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Les constantes : nommées, mais non-variables . . . . . . . . . . . . . . . . . . . . . 49
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
CHAPITRE 3
Les opérateurs et les instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Forme des instructions JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Les instructions simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
L’instruction d’affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Les opérateurs arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Les opérateurs unaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Priorité des opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Un raccourci pratique : l’affectation avec une opération . . . . . . . . . . . . . 58
Les opérateurs de manipulation de bits . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Les instructions conditionnelles et le flux d’exécution . . . . . . . . . . . . . . . 61
if...else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
L’instruction conditionnelle switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Les opérateurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Les opérateurs d’égalité et d’identité (égalité de chaînes) . . . . . . . . . . . . 68
Les autres opérateurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
L’unique opérateur ternaire de JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 73
Les opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
La boucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
La boucle do...while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
La boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 4/9
Table des matièresVII
CHAPITRE 4
Les objets JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Le constructeur d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
L’objet Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
L’objet String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
RegExp et les expressions rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Les méthodes de RegExp : test et exec . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Utiliser les expressions rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Des objets utiles : Date et Math. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Les méthodes mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Les tableaux JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Construction des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Les queues FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Les tableaux associatifs : des tableaux qui n’en sont pas vraiment . . . . . . 112
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
CHAPITRE 5
Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Définition de fonctions : trois méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Les fonctions déclaratives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Valeur de retour et arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Les fonctions anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Les fonctions littérales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Résumé des types de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Les fonctions de rappel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Les fonctions et la récursivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Fonctions imbriquées, closures et fuites de mémoire . . . . . . . . . . . . . . . . 128
Les fonctions en tant qu’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
CHAPITRE 6
Gérer les événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
La gestion des événements du DOM niveau 0. . . . . . . . . . . . . . . . . . . . . . 137
L’objet Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 5/9
Débuter en JavaScriptVIII
La propagation des événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Les gestionnaires d’événements et this . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Déclencher des événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
CHAPITRE 7
Formulaires et validation JiT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Accéder à un formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Attacher des événements aux formulaires : les différentes approches . . . . 158
La sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Modification dynamique de la sélection . . . . . . . . . . . . . . . . . . . . . . . . . 162
Sélection et validation JiT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Les boutons radio et les cases à cocher . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Les éléments textarea, text, hidden et password . . . . . . . . . . . . . . . . . . . . 165
Traitement du texte JiT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Validation JiT des champs de texte au moyendes expressions rationnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
CHAPITRE 8
Cookies, connectivité et piratage . . . . . . . . . . . . . . . . . . . . . . . . . . 175
L’environnement sécurisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
La règle de la même origine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Utilisation de document.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Les cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Lecture et écriture des cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Autres techniques de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Communiquer au-delà de la zone sécurisée . . . . . . . . . . . . . . . . . . . . . . . 184
Flash SO et le stockage Dojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Pouvons-nous ? Devons-nous ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Le Cross Site Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Les injecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Que faire ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 6/9
Table des matièresIX
CHAPITRE 9
Les objets standards du navigateur . . . . . . . . . . . . . . . . . . . . . . . . 191
Premier coup d’œil sur le BOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
L’objet window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Les boîtes de dialogue : alert, confirm et prompt . . . . . . . . . . . . . . . . . . . 193
Création de fenêtres personnalisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Communication entre les fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Modification d’une fenêtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Les timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Cadres et adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
L’objet location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Script à distance avec iframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
history, screen et navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
navigator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Une page, trois objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Les liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Les images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
La collection all et les propriétés innerHTML et outerHTML . . . . . . . . . 218
Du vieux, du neuf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
CHAPITRE 10
Le DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Une histoire de deux interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Le DOM et les navigateurs compatibles . . . . . . . . . . . . . . . . . . . . . . . . . . 225
L’API DOM HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Les objets HTML et leurs propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . 227L’accès aux objets HTML et les différences entre les navigateurs . . . . . . 230
Comprendre le DOM : L’API Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
L’arbre du DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Propriétés et méthodes des nœuds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Parcourir l’arbre du DOM avec Node . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
L’objet document de l’API DOM Core . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Éléments et accès en contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 7/9
Débuter en JavaScriptX
Modification de l’arborescence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
CHAPITRE 11
Création d’objets JavaScript personnalisés . . . . . . . . . . . . . . . . 253
Les objets JavaScript et le prototypage . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Le prototypage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Création d’objets JavaScript personnalisés . . . . . . . . . . . . . . . . . . . . . . . . 256
Les fonctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Propriétés publiques et privées : utilisation de this . . . . . . . . . . . . . . . . . 260
Détection d’objet, encapsulation et compatibilité des navigateurs . . . . . . 261
La détection d’objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Encapsulation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Le chaînage des constructeurs et l’héritage en JavaScript . . . . . . . . . . . . . 266
Les objets uniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Techniques de gestion d’erreur (try, throw, catch) . . . . . . . . . . . . . . . . . . 270
Quoi de neuf en JavaScript ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Juste ce qu’il faut de changement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Changement d’échelle pour les dix prochaines années . . . . . . . . . . . . . . 276
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
CHAPITRE 12
Construire des pages Web dynamiques :donner du style à vos scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
DHTML : JavaScript, CSS et DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
La propriété style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Les polices et le texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Les propriétés font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Les propriétés text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Position et mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Le glisser/déposer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Contrôle de la taille et du détourage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Détourage et contenu dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Le rectangle de détourage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Affichage, visibilité et opacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Utiliser les outils adaptés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 8/9
Table des matièresXI
Information permanente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Des formulaires à géométrie variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
CHAPITRE 13
Au-delà de la page avec Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Ajax : au-delà du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
PermaQuoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Sécurité : problèmes et solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Meilleures pratiques Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Principe d’Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Bonjour Ajax !. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
L’objet Ajax : XMLHttpRequest et ActiveX . . . . . . . . . . . . . . . . . . . . . . 318
Objet, objet, qui a l’objet ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Les méthodes de l’objet XMLHttpRequest . . . . . . . . . . . . . . . . . . . . . . . 320
Faut-il utiliser XML ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
JavaScript Object Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
CHAPITRE 14
Les bibliothèques Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Quelques conseils de prudence préalables . . . . . . . . . . . . . . . . . . . . . . . . . 336
Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Téléchargement, installation et utilisation . . . . . . . . . . . . . . . . . . . . . . . . 337
Les fonctions utilitaires et les extensions JavaScript . . . . . . . . . . . . . . . . 338
Quelques objets spécialisés de Prototype . . . . . . . . . . . . . . . . . . . . . . . . 340
Problèmes potentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Script.aculo.us. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Aperçu des effets disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Rico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Les coins arrondis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Dojo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Installation et configuration de Dojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Les widgets Dojo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
5/14/2018 TDM Javascript Debuter - slidepdf.com
http://slidepdf.com/reader/full/tdm-javascript-debuter 9/9
Débuter en JavaScriptXII
Yahoo! UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
MochiKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Journalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
CHAPITRE 15
Réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377