Technique Internet de Base Javascript avancé

Transcription

Technique Internet de Base Javascript avancé
Introduction
Objet
Navigateur
Évènements
Technique Internet de Base
Javascript avancé
Maxime Morge [email protected]
Licence 2
Université Jean Monnet
2008-2009
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Introduction
Un langage de programmation objet à prototype
Un langage de programmation événementiel.
Le code Javascript est embarqué dans des pages webs.
Le code Javascript est interprété du côté du client.
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Les objets
Objet= concept, idée, entité physique (voiture).
Interface d’un objet (comment agir sur un objet)= des
méthodes.
Structure d’un objet= des attributs.
Encapsulation= manipuler les méthodes pas les attributs.
Classe= catégorie d’objet qui partage des propriétés
communes.
Héritage= principe d’ “arbre généalogique” pour les classes
dont les "filles" héritent des caractéristiques de leur mère.
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Les objets en Javascript
Créer des objets
var d = new Date();
var livre={titre:"titre", auteur:"P. Dupont"};
Les propriétés d’un objet
livre.partie1= new Object();
alert(livre.titre);
delete livre.partie1;
if ("partie1" in livre) ...
Les méthodes.
alert(livre.toString());
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Les espaces de noms
livre
titre
auteur
contenu
partie1
chapitre1
chapitre2
partie2
chapitre3
livre.contenu.partie1.chapitre1
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Constructeur
Définition
function Rectangle(l,h){
this.largeur=l;
this.hauteur=h;
}
Invocation
var rect1=new Rectangle(2,4);
var rect1=new Rectangle(8.5,11);
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Conclusion
Méthode
Définition
function Rectangle(l,h){
this.larg=l;
this.haut=h;
this.aire =function() {return this.larg* this.haut;}
}
Invocation
var rect1=new Rectangle(2,4);
var a = rect1.aire();
Maxime Morge
TIB Javascript(2)
Introduction
Objet
Navigateur
Évènements
Prototypage
Définition
function Rectangle(l,h){
this.largeur=l;
this.hauteur=h;
}
Rectangle.prototype.aire =function() {
return this.largeur* this.hauteur;}
Invocation
var rect1=new Rectangle(2,4);
var a = rect1.aire();
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Conclusion
Héritage
Définition
RectanglePositionne.prototype.superclasse=Rectangle;
function RectanglePositionne(x,y,l,h){
this.superclasse(l,h);
this.x=x;
this.y=y;
}
Invocation
var rect1=new RectanglePositionne(0,0,2,4);
var a = rect1.aire();
Maxime Morge
TIB Javascript(2)
Introduction
Objet
Navigateur
Évènements
Hiérarchie des objets côté client
L’object Window, le contexte d’exécution :
location, l’URL de la fenêtre ;
history, l’historique de navigation ;
window, la fenêtre ;
screen, l’écran ;
navigator, le navigateur ;
frames[], le jeu de cadre ;
self, la fenêtre elle-même ;
top, la fenêtre dans la laquelle elle est contenue ;
parent, la fenêtre mêre ;
document, le document HTML.
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Navigation
location, l’URL de la fenêtre
location.toString()
location.reload()
location.replace(url)
history, l’historique de navigation
history.back()
history.forward()
history.go(n)
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Affichage
window, la fenêtre
window.outerWidth
window.outerHeight
window.screenX
window.screenY
window.innerWidth
window.innerHeight
screen, l’écran
screen.width
screen.height
navigator, le navigateur
appName
appVersion
plateform
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Jeu de cadre
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Conclusion
Propriétés et objets du document
document.bgColor, la couleur d’arrière de plan
document.title, le titre entre <title> et </title>
document.URL, l’URL à l’origine de la page ∼ location.href
cookie, . . .
anchors[], les ancrages <a name="blabla"></a> ;
links[], les liens <a href="blabla"></a> ;
forms[], les formulaires ;
images[], les images.
Maxime Morge
TIB Javascript(2)
Introduction
Objet
Navigateur
Évènements
La gestion des événements
Un événement= action réalisée par le navigateur suite à :
une erreur Javascript ;
une temporisation ;
une action de l’utilisateur.
Un événement peut déclencher une fonction Javascript.
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
La gestion des événements (suite)
Un événement est associé à un objet comme :
la fenêtre de navigation ;
le document ;
une balise (e.g. un commande de formulaire).
Un événement peut être :
général ;
lié à la souris ;
lié au clavier ;
lié au formulaire.
Lorsqu’un événement est associé à une balise il peut être
capturé par un gestionnaire, i.e. un attribut.
Maxime Morge
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Conclusion
Les événements généraux
Les événements
l’utilisateur.
Gestionnaire
onload
onabort
onunload
qui ne sont pas directement liés à l’action de
Déclencheur
chargement achevé
chargement interrompu
déchargement achevé
Maxime Morge
Balises
<body>, <frameset>, <img>
<img>
<body>, <frameset>
TIB Javascript(2)
Introduction
Objet
Navigateur
Évènements
Conclusion
Les événements liés à la souris
Gestionnaire
onclick
ondclick
onmousedown
onmouseup
onmousemove
onmouseover
onmouseout
onfocus
onblur
Déclencheur
Clique
Double-clique
Bouton pressé
Bouton relâché
Pointeur déplacé
Pointeur déplacé dans la zone
Pointeur déplacé hors la zone
Focus de saisie obtenu
Focus de saisie perdu
Maxime Morge
TIB Javascript(2)
Balises
presque tous
presque tous
presque tous
presque tous
presque tous
presque tous
presque tous
<body>, <input>, . . .
<body>, <input>, . . .
Introduction
Objet
Navigateur
Évènements
Les événements liés au clavier
Gestionnaire
onkeypress
onkeydown
onkeyup
Déclencheur
Touche pressée
Touche enfoncée
Touche relâchée
Maxime Morge
Balises
<body>, <input>, . . .
<body>, <input>, . . .
<body>, <input>, . . .
TIB Javascript(2)
Conclusion
Introduction
Objet
Navigateur
Évènements
Conclusion
Les événements liés au formulaire
Gestionnaire
onsubmit
onreset
onfocus
onblur
onchange
onselect
Déclencheur
Formulaire à envoyer
Formulaire à réinitialiser
Focus de saisie obtenu
Focus de saisie perdu
Focus perdu/valeur modifiée
Texte sélectionné
Maxime Morge
TIB Javascript(2)
Balises
<form> . . .
<form> . . .
<button>, <input>, <labe
<button>, <input>, <labe
<input>, <select>, <text
<input>, <textarea>
Introduction
Objet
Navigateur
Évènements
À emporter
Objectifs :
Programmation objet prototypé
Programmation événementiel
Contenu : Javascript côté client
Objet Javascript (attributs/méthodes)
Évènement généraux/clavier/souris/formulaire
Perspectives :
Cookies.
Maxime Morge
TIB Javascript(2)
Conclusion