LES ÉVÉNEMENTS

Les événements sont des actions qui se produisent au cours de la navigation lorsqu'une occurrence survient. Ces actions sont habituellement produites par l'usager. Par exemple, appuyer sur un bouton ou ouvrir un document sont des événements.

Il y a un événement spécifique pour chaque action. Ainsi, vous pouvez définir une fonction JavaScript lorsqu'un événement se produit.

Les événements doivent être inscrits à l'intérieur d'une commande HTML, tout comme un attribut. La syntaxe habituelle est la suivante :

<CommandeHTML Événement="nomDeLaFonctionJavaScript">

Voici la liste des différents événements possibles pour faire interagir un JavaScript :

Sur cliquement (onClick)
Sur changement (onChange)
Sur souris au-dessus (onMouseOver)
Sur souris hors zone (onMouseOut)
Sur sélection (onSelect)
Sur envoi (onSubmit)
Sur recommencement (onReset)
Sur focus (onFocus)

Sur sortie du focus (onBlur)
Sur chargement (onLoad)
Sur déchargement (onUnload)
Sur erreur (onError)
Sur annulation (onAbort)

Sur cliquement (onClick)

Cet événement se produit lorsque l'utilisateur appuie sur un bouton ou sur une option dans un formulaire ou sur un lien hypertexte.

L'on peut retrouver cet événement dans les commandes suivantes :

Le bouton formulaire <INPUT TYPE="button">
Le bouton recommencer <INPUT TYPE="reset">
Le bouton soumettre <INPUT TYPE="submit">
La boîte de marquage <INPUT TYPE="checkbox">
La boîte de sélection <INPUT TYPE="radio">
Le lien externe ou interne <A HREF="..."> </A>

Exemple:

<INPUT TYPE="button" VALUE="uneValeur" onClick="nomFonction">

Sur changement (onChange)

Cet événement se produit lorsque l'utilisateur modifie la valeur d'une boîte liste, d'une boîte à liste déroulante, d'une boîte texte ou d'une boîte texte multiligne. La fonction appelée peut servir à valider les informations entrées dans ces boîtes de dialogues.


L'on peut retrouver cet événement dans les commandes suivantes:

Boîte liste <SELECT>
Boîte à liste déroulante <SELECT>
Boîte texte <INPUT TYPE="text">
Boîte Mot de passe <INPUT TYPE="password">

Boîte texte multiligne <TEXTAREA>


Exemple:

<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onChange="nomFonction">

Sur souris au-dessus (onMouseOver)

Cet événement se produit à chaque fois que l'utilisateur place la souris au-dessus d'un lien hypertexte ou une zone hypertexte.


L'on peut retrouver cet événement dans les commandes suivantes:

Le lien externe ou interne <A HREF="..."> </A>
    L’image en coordonnées <AREA>


Exemple:

    A HREF="unURL" onMouseOver="nomFonction()"> </A>
    AREA SHAPE=".." COORDS=".." HREF=".." onMouseOver="nomFonction()">

Sur souris hors zone (onMouseOut)

Cet événement se produit à chaque fois que l'utilisateur place la souris en dehors d’une zone hypertexte.


L'on peut retrouver cet événement dans les commandes suivantes:

L’image en coordonnées <AREA>
    Lien externe <A HREF="..">
    Lien interne <A HREF="#..">


Exemple:

<AREA SHAPE=".." COORDS=".." HREF=".." onMouseOut="nomFonction()">

Sur sélection (onSelect)

Cet événement se produit lorsque l'utilisateur sélectionne la valeur d'une boîte texte ou d'une boîte texte multiligne.


L'on peut retrouver cet événement dans les commandes suivantes:

Boîte texte <INPUT TYPE="text">
Boîte Mot de passe <INPUT TYPE="password">
Boîte texte multiligne <TEXTAREA>


Exemple:

<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onSelect="nomFonction">

Sur envoi (onSubmit)

Cet événement se produit lorsque l'utilisateur envoie un formulaire. La fonction appelée peut servir à prévenir qu'un formulaire soit soumis malgré que certaines informations entrées soient invalides.


L'on peut retrouver cet événement dans la commande suivante:

La commande Formulaire <FORM>


Exemple:

<FORM ACTION="URL" METHOD=POSTouGET onSubmit="nomFonction()">

Sur recommencement (onReset)

Cet événement se produit lorsque l'utilisateur appuie sur le bouton recommencement d’un formulaire.


L'on peut retrouver cet événement dans la commande suivante:

La commande Formulaire <FORM>


Exemple:

<FORM ACTION="URL" METHOD=POSTouGET onReset="nomFonction()">

Sur focus (onFocus)

Cet événement se produit lorsque l'utilisateur appuie sur une boîte de dialogue avec la souris ou la touche TAB du clavier.


L'on peut retrouver cet événement dans les commandes suivantes:

Boîte liste <SELECT>
Boîte à liste déroulante <SELECT>
Boîte texte <INPUT TYPE="text">
Boîte Mot de passe <INPUT TYPE="password">
Boîte texte multiligne <TEXTAREA>


Exemple:

<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onFocus="nomFonction">

Sur sortie du focus (onBlur)

Cet événement se produit lorsque l'utilisateur sort d'une boîte de dialogue en appuyant sur la touche TAB du clavier ou en utilisant la souris. La fonction appelée peut servir à valider les informations entrées.


L'on peut retrouver cet événement dans les commandes suivantes:

Boîte liste <SELECT>
Boîte à liste déroulante <SELECT>
Boîte texte <INPUT TYPE="text">
Boîte Mot de passe <INPUT TYPE="password">
Boîte texte multiligne <TEXTAREA>


Exemple:

<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onBlur="nomFonction">

Sur chargement(onLoad)

Cet événement se produit lorsque le navigateur a terminé le chargement d'une page HTML ou de tous les cadres (FRAMES) de la commande <FRAMESET> ou d'une image.


L'on peut retrouver cet événement dans les commandes suivantes:

Le corps du document <BODY>
Les cadres <FRAMESET>
L'image <IMG>


Exemple:

<BODY onLoad="nomFonction">

Sur déchargement (onUnload)

Cet événement se produit lorsque l'utilisateur sort d'une page HTML .


L'on peut retrouver cet événement dans les commandes suivantes:

Le corps du document <BODY>
Les cadres <FRAMESET>


Exemple:

<BODY onUnload="nomFonction">

Sur erreur (onError)

Cet événement se produit lorsqu'il y a une erreur au cours du chargement d'une image.


L'on peut retrouver cet événement dans la commande suivante:

Image <IMG>


Exemple:

<IMG SRC="unURL" onError="nomFonction">

Sur annulation (onAbort)

Cet événement se produit lorsque l'usager annule le chargement d'une image. Ceci peut se produire lorsque l'usager appuie sur un lien ou sur le bouton "Stop" du navigateur au cours du chargement de l'image.


L'on peut retrouver cet événement dans la commande suivante:

Image <IMG>


Exemple:

<IMG SRC="unURL" onAbort="nomFonction">

DATA TAINTING

Les navigateurs empêchent automatiquement aux scripts d'un serveur d'avoir accès aux propriétés d'un document qui se trouve sur un autre serveur. Cette restriction est une précaution contre la divulgation par le script d'informations privées, telles que la structure des répertoires ou la liste des pages visitées par un usager. Toutefois, cette restriction affecte également des applications légitimes et nécessaires.

La fonction "data tainting" garde cette restriction comme sécurité mais possède un mécanisme pour les applications légitimes. Lorsque le "data tainting" est appliqué, le JavaScript dans une fenêtre est en mesure de voir les propriétés d'une autre fenêtre, peu importe sur quel serveur se trouve le document de cette fenêtre. Par contre, si le JavaScript de la première fenêtre essaie d'envoyer des données qui proviennent des propriétés d'une fenêtre se trouvant sur un autre serveur, une boîte de confirmation apparaîtra afin que l'usager puisse confirmer ou annuler l'opération. Par défaut, toutes les propriétés dans la seconde fenêtre possèdent la fonction "taint" afin qu'elles ne puissent être envoyées à un serveur autre que celui d'où provient le document de la fenêtre.

Pour ajouter le "data tainting" à une propriété, il faut utiliser la fonction "taint". Pour enlever le data tainting à une propriété, il faut utiliser la fonction "untaint".