55
Département Technologie de l’Information et de la Communication Module Internet (3) 1 Internet

Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Embed Size (px)

Citation preview

Page 1: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)1

Internet

Page 2: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)2

Sommaire

• Javascript

Page 3: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)3

Javascript

Page 4: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)4

Javascript (1/3)

• Au début: – LiveScript,– développé par Netscape.

• Le 4 décembre 1995, suite à une association avec Sun, Netscape rebaptise son langage Javascript:– clin d'oeil au langage Java.

Page 5: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)5

Javascript (2/3)

• Permet de rendre un site interactif de manière simple (pour les non développeurs),– réagir aux actions de l'utilisateur.

Page 6: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)6

Javascript (3/3)

• Javascript n’est pas Java:

Javascript Java (applet)

langage interprété langage pseudo-compilé

code intégré au HTML code à part du document HTML, appelé à partir de la page

langage peu typé langage fortement typé

accessibilité du code confidentialité du code

pas d’écriture sur le disque dur pas d’écriture sur le disque dur

Page 7: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)7

Où placer le code?

• Dans la page HTML:– entre les balises:

<script language="javascript">

</script>

– language="javascript" est facultatif: • javascript est (actuellement…) le language de script par

défaut.

• Les fonctions sont déclarés dans l'en-tête de la page html: – entre <head> et </head>.

Page 8: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)8

Les Commentaires

// sera en commentaire

/* ceci sera aussi un

commentaire

sur plusieurs lignes */

Page 9: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)9

Pour les anciens navigateurs

• Pour résoudre le problème des anciens navigateurs qui ne supportent pas javascript: <script> <!--// code javascript--></script>

Page 10: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)10

Exemple (1/2)

<html><head><title>Ma première page avec javascript</title></head><body>

<script language="javascript"><!--//partie cachée aux anciens navigateursdocument.write("Bonjour tout le monde"); --></script>

</body></html>

Page 11: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)11

Exemple (2/2)

Page 12: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)12

Syntaxe

• Les instructions se terminent par ";".

• Casse:– majuscule != minuscule.

• Opérateurs:==, !=, =<, >=, <, >, &&, ||,

• Boucle: for(i = 0; i<5; i++){ // instructions }

while(a<b){ // instructions }

do{ // instructions } < while(a<b)

Page 13: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)13

Déclaration des variables

• Deux façons:– explicite (avec le mot clé var):

var st_chaine= "bonjour"; – implicite (sans mot clé):

st_chaine= "bonjour"; // st_chaine est globale– exemples:

var MaVariable1;MaVariable2 = 56;MaVariable1 = 32;

Page 14: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)14

Exercice 1

• Écrire un script qui affiche la page suivante:

Page 15: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)15

Les tableaux (1/2)

• 3 manières de déclarer un tableau:var Tab = new Array(); // déclaration d'un tableau vide– déclaration et initialisation en même temps:

• première méthode:var Tab = new Array("donnée 1", "donnée 2", "donnée 3");

• seconde méthode:var Tab = ["donnée 1", "donnée 2", "donnée 3"];

Page 16: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)16

Les tableaux (2/2)

• Utilisation:Tab[0] = "Bonjour à tous";

Tab[1] = "Rebonjour à tous";

• Tableaux associatifs:Tab["Jean"] = 16;

Tab["Paul"] = 14;

– exemple:document.write("Le second élément du tableau vaut "+Tab[1]);

document.write("La note de Paul est : "+Tab["Paul"]);

Page 17: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)17

Les fonctions (1/3)

• Définition:function nom_fonction(paramètres)

{

// instructions

}

Page 18: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)18

Les fonctions (2/3)

• Appel:nomDeLaFonction(arguments)

• La fonction doit être définie avant l'appel:– la définition sera placée dans l'en-tête de la page html.

Page 19: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)19

Les fonctions (3/3)

• Valeur de retour:– mot clé:

return– exemple:

function carre(nombre){var resultat = nombre*nombre;return resultat;}

Page 20: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)20

La fonction Alert

• Permet d'afficher un message: – une fenêtre avec du texte et un bouton OK.

• Syntaxe:alert("texte");

alert(variable);

– exemple: alert("bonjour");

Page 21: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)21

La fonction prompt

• Affiche une fenêtre avec du texte, une zone de saisie, un bouton OK et un bouton annuler:– permet la saisie de l'utilisateur.– exemple:

var reponse = prompt("Texte de la boîte","valeur par défaut");

– retourne:• la valeur de la zone de saisie,• null si l'utilisateur clique sur annuler.

Page 22: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)22

La fonction confirm

• Affiche une fenêtre avec du texte, un bouton OK et un bouton annuler: – permet de demander confirmation.– exemple:

var continuer = confirm("Voulez-vous continuer?");

– retourne:• true si l'utilisateur clique sur OK,• false sinon.

Page 23: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)23

Fonctions et boîtes de dialogue

• Déclaration:function fonctionTest(monTexte)

{

alert(monTexte);

}

• Appel : fonctionTest("bonjour");

– affichera une fenêtre avec le texte "bonjour"

Page 24: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)24

Exercice

• Écrire une page qui demande la saisie de 2 valeurs (à l'ouverture) et qui en affiche la somme:

– vous utiliserez la fonction parseFloat(chaine) pour convertir une chaîne de caractères en réel:

Page 25: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)25

Scripts externe

• Le script peut être enregistré dans un fichier indépendant de la page Web:– réutilisation du script dans une autre page.

• Le fichier est précisé dans <head>:– exemple:

<head>

<script type="text/javascript" src="fichier.js"></script>

</head>

Page 26: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)26

Les objets (1/5)

objet window

objet document

objet champ texte

objet bouton radio

objet formulaire

objet bouton

Page 27: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)27

Les objets (2/5)

• Les objets de base du navigateur sont les suivants: navigator

• contient des informations sur le navigateur de celui qui visite la page.

window• c'est l'objet où s'affiche la page, il contient donc des propriétés

concernant la fenêtre elle-même mais aussi tous les objets-enfants contenus dans celle-ci.

location• contient des informations relatives à l'adresse de la page à l'écran.

history• liste de liens visités précédemment.

document• propriétés sur le contenu du document (couleur arrière plan, titre, ...).

Page 28: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)28

Les objets (3/5)

• Pour accéder à un objet: – commencer par l'objet le plus élevé, puis descendre dans la

hiérarchie,– exemple:

• pour accéder au bouton semaine placé dans le formulaire test:

window.document.test.semaine

– remarque: • window est facultatif.

Page 29: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)29

Les objets (4/5)

• Pour accéder aux propriétés des objets:– opérateur "."nom_de_objet.nom_propriété– exemple:

document.nom_form.nom_radio.checked• permet de savoir si le bouton radio est coché (ON) ou NULL.

Page 30: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)30

Les objets (5/5)

NavigatorAppName

• retourne le nom du navigateur.

AppVersion• retourne la version.

Page 31: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)31

Exemple

• Objet navigator:<script language="javascript"><!--Navigateur = navigator.appName;if (Navigateur == "Netscape"){ document.write("Netscape"); }if (Navigateur == "Microsoft Internet Explorer"){document.write("Internet Explorer");}//--></script>

Page 32: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)32

Propriétés (1/6)

• Zone de texte:

Propriété Description

name nom du contrôle

defaultValue valeur par défaut du contrôle

value valeur en cours du contrôle

Page 33: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)33

Propriétés (2/6)

<html><body><form name="monFormulaire"><input type="text" name="leNom" value="valeur par

défaut"><br /></form><script>document.write(" name="+document.monFormulaire.leNo

m.name+"<br />");document.write("defaultvalue="+document.monFormulaire

.leNom.defaultValue+"<br />");document.write("value="+document.monFormulaire.leNom

.value+"<br />");</script></body></html>

Page 34: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)34

Propriétés (3/6)

• Case à cocher:

Propriété Description

name nom du contrôle

checked état en cours

defaultChecked bouton sélectionné par défaut ?

value valeur du bouton

Page 35: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)35

Propriétés (4/6)

• Boutons radio:

Propriété Description

name nom du contrôle

checked état en cours

defaultChecked bouton sélectionné par défaut

value valeur de l'élément case à cocher

Page 36: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)36

Propriétés (5/6)

• Liste de sélection:

Propriété Description

id nom de la liste déroulante

length nombre d'éléments de la liste

selectedIndex rang de l'élément sélectionné (à partir de 0)

value valeur de l'élément sélectionné

Page 37: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)37

Propriétés (6/6)

• Zone de texte (TextArea):

Propriété Description

name nom du champ textArea

defaultValue valeur par défaut du champ

value valeur courante du champ texte

Page 38: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)38

Les évènements (1/6)

• Avec HTML: – un seul événement:

• le click souris (assez limité...).

• Javascript ajoute les événements suivants qui peuvent être insérés dans les balises HTML du document: Click

• lorsque l'utilisateur clique sur un bouton, un lien ou tout autre élément.

Load• lorsque la page HTML est chargée par le navigateur.

Unload• lorsque l'utilisateur quitte ou change de page HTML.

Page 39: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)39

Les évènements (2/6)

• Javascript:MouseOver

• lorsque l'utilisateur place le pointeur de la souris sur un lien ou tout autre élément.

MouseOut• lorsque le pointeur de la souris quitte un lien ou tout autre élément.

Page 40: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)40

Les événements (3/6)

• Javascript:Focus

• lorsqu'un élément de formulaire a le focus (i.e. devient la zone d'entrée active).

Blur• lorsqu'un élément de formulaire perd le focus ( i.e. lorsque

l'utilisateur clique hors du champ et que la zone entrée n'est plus active).

Change• lorsque la valeur d'un champ de formulaire est modifiée.

Select• lorsque l'utilisateur sélectionne un champ dans un élément de

formulaire.Submit

• lorsque l'utilisateur clique sur le bouton Submit pour envoyer un formulaire.

Page 41: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)41

Les événements (4/6)

• Javascript:Abort

• lorsque l'utilisateur interrompt le chargement de l'image.

Dblclick• lorsque l'utilisateur double-clique sur l'élément (un lien hypertexte

ou un élément de formulaire).

Dragdrop • lorsque l'utilisateur effectue un glisser-déposer sur la fenêtre du

navigateur.

Error• lorsqu'une erreur apparaît durant le chargement de la page.

Page 42: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)42

Les évènements (5/6)

• Javascript:Keydown

• lorsque l'utilisateur appuie sur une touche de clavier.

Keypress• lorsque l'utilisateur maintient une touche de clavier enfoncée

Keyup• lorsque l'utilisateur relâche une touche de clavier.

Reset• lorsque l'utilisateur efface les données d'un formulaire à l'aide du

bouton Reset.

Resize• lorsque l'utilisateur redimensionne la fenêtre du navigateur.

Page 43: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)43

Les évènements (6/6)

• Récupération d'un événement et appel de fonction:onNom_événement="nom_fonction();"

– exemple:

onClick="alert('Vous avez cliqué sur cet élément');"

Page 44: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)44

Exemple

<html><body><form><a href="page.html" onClick="alert('Vous avez cliqué sur le lien');"> lien</a></form></body></html>

Page 45: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)45

Exemple

<html><head><script language="Javascript">function bienvenue(){

alert("bienvenue sur ma page");}

function auRevoir(){alert("Au revoir");}

</script></head><body onLoad="bienvenue() " onUnload="auRevoir() "><h1>voici ma page</h1></body></html>

Page 46: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)46

Exemple

• À la fermeture:

Page 47: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)47

Les boutons

• 3 types: – bouton submit (déjà vu), – bouton reset (déjà vu),– bouton normal:

<input type="button" name="nom" value="cliquez ici">

Page 48: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)48

Exercice

• Écrire le code de la page suivante, permettant de sélectionner son système d'exploitation: – après chaque changement, la nouvelle valeur de la liste sera

affichée:

– remarque: • créer une fonction permettant l'affichage de la valeur de la liste.

Page 49: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)49

La méthode open() (1/3)

• La méthode open() (de l'objet window) permet d'ouvrir une fenêtre:window.open("URL","nom_de_la_fenetre","options_de_la_fenetre");

– exemple d'utilisation dans un lien hypertexte:

<a href=# onClick="window.open('URL', 'nom_de_la_fenetre',

'options_de_la_fenetre');return(false)">Lien</a>

Page 50: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)50

La méthode open() (2/3)

• Les options de la fenêtre sont les suivantes: directories = yes/no

• affiche ou non les boutons de navigation.

location = yes/no• affiche ou non la barre d'adresse.

menubar = yes/no• affiche ou non la barre de menu (fichier, edition, ...).

resizable = yes/no• définit si la taille de la fenêtre est modifiable ou non.

scrollbars = yes/no• affiche ou non les ascenseurs (barres de défilement).

Page 51: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)51

La méthode open() (3/3)

• Options de la fenêtre:status = yes/no

• affiche ou non la barre d'état.

toolbar = yes/no• affiche ou non la barre d'outils.

width = largeur (en pixels)• définit la largeur.

height = hauteur (en pixels)• définit la hauteur.

Page 52: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)52

Exercice

• Écrire un lien permettant d'afficher la page suivante:

Page 53: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)53

Exercice

• Écrire un script de telle sorte que lorsque la souris passe sur une image celle-ci est modifiée:

Page 54: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)54

Exercice

• Écrire une mini calculatrice:

Page 55: Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet

Département Technologie de l’Information et de la Communication Module Internet (3)55

Références

http://www.javascriptfr.com/

http://www.toutjavascript.com/

http://www.allhtml.com/javascript/index.php