0209-formation-programmation-javascript
0209-formation-programmation-javascript
0209-formation-programmation-javascript
<script
language="JavaScript">
............
</script>
Le code JavaScript s’intègre de deux manière avec
le code HTML
1. Insertion directe dans le code HTML
Le code JavaScript s'insère le plus souvent dans la page HTML elle
même.
C'est la méthode la plus simple et la plus fréquemment utilisée par les
développeurs de sites Internet.
Les deux balises de Javascript doivent être placés entre les Tags
<body> et </body> dans le cas d'une exécution directe ou entre les
Tags <head> et </head> de la page HTML pour une exécution
différée.
Stocké dans un fichier sur le serveur à son adresse d'appel sous forme
de TEXTE SIMPLE portant l'extension .txt ou .js
Simplifie la maintenance des sites faisant appel à des modules
JavaScript communs à plusieurs pages HTML.
Inconvénient : l'appel au code externe génère une requête
supplémentaire vers le serveur, et encombre le réseau
Entrée et sortie de données avec JavaScript
<html>
<head>
<title> une page simple </title>
</head>
<body>
Bonjour
<script language='javascript'>
alert('bonjour');
document.write (
prompt('quel est votre nom ?','Indiquer votre nom ici')
);
confirm('quel bouton allez-vous choisir ?');
</script>
</body>
</html>
La structure d’un script en JavaScript
Déclaration et affectation
Déclaration et affectation
La lecture d'une variable non déclarée provoque une erreur
La portée
les variables peuvent être globales ou locales.
eval
Cette fonction exécute un code Javascript à partir d'une chaîne de caractères.
...
<SCRIPT LANGUAGE="JavaScript">
function evaluation() {
document.formulaire.calcul.value=eval(document.formulaire.saisie.value); }
</SCRIPT>
...
<FORM NAME="formulaire">
Saisissez une expression mathématique : <INPUT TYPE="text" NAME=saisie
MAXLENGTH=40 SIZE=40>
<INPUT TYPE="button" VALUE="evaluation." onClick="evaluation()">
<INPUT TYPE="text" NAME=calcul MAXLENGTH=40 SIZE=40>
</FORM>...
Les fonctions prédéfinies (2)
isFinite
Détermine si le parametre est un nombre fini. Renvoie false si ce n'est pas un
nombre ou l'infini positif ou infini négatif.
isFinite(240) //retourne true
isFinite("Un nombre") //retourne false
isNaN
détermine si le parametre n’est pas un nombre (NaN : Not a Number).
parseFloat
analyse une chaîne de caractères et retourne un nombre décimal.
Si l'argument évalué n'est pas un nombre, renvoie NaN (Not a Number).
var numero="125";
var nombre=parseFloat(numero); //retourne le nombre 125
parseInt
analyse une chaîne de caractères et retourne un nombre entier de la base spécifiée.
La base peut prendre les valeurs 16 (hexadécimal) 10 (décimal), 8 (octal), 2
(binaire).
var prix=30.75;
var arrondi = parseInt(prix, 10); //retourne 30
Les fonctions prédéfinies (4)
Number
convertit l'objet spécifié en valeur numérique
var jour = new Date("December 17, 1995 03:24:00");//converit la date en
millisecondes
alert (Number(jour));
String
convertit l'objet spécifié en chaîne de caractères
L’opérateur New
L'opérateur new est utilisé pour créer une nouvelle
instance ou un nouveau type d'objet défini par l'utilisateur
ou de l'un des types d'objets prédéfinis, Array, Boolean,
Date, Function, Image, Number, Object, ou String.
nouvel_objet = new type_objet(parametres)
L’opérateur Typeof
L'opérateur typeof renvoie une chaîne de caractères indiquant quel est le type de
l'opérande.
var i = 1;
typeof i; //retourne number
var titre="Les raisins de la colère";
typeof titre; //retourne string
var jour = new Date();
typeof jour; //retourne object
var choix = true; typeof choix; //retourne boolean
var cas = null; typeof cas; //retourne object
typeof parseFloat; //retourne function
typeof Math; //retourne object (IE 5.*, NS 6.*, NS 4.78, Opera 6.*, Opera 5.*
typeof Math; //retourne function NS 3.*, Opera 3.*
L'objet String (1)
Propriété :
length : retourne la longueur de la chaîne de caractères;
Méthodes :
anchor( ) : formate la chaîne avec la balise <A> nommée;
b( ) : formate la chaîne avec la balise <B>;
big( ) : formate la chaîne avec la balise <BIG>;
charAt( ) : renvoie le caractère se trouvant à une certaine position;
charCodeAt( ) : renvoie le code du caractère se trouvant à une certaine position;
concat( ) : permet de concaténer 2 chaînes de caractères;
fromCharCode( ) : renvoie le caractère associé au code;
indexOf( ) : permet de trouver l'indice d'occurrence d'un caractère dans une chaîne;
L'objet String (2)
Propriétés :
E : renvoie la valeur de la constante d'Euler (~2.718);
LN2 : renvoie le logarithme népérien de 2 (~0.693);
LN10 : renvoie le logarithme népérien de 10 (~2.302);
LOG2E : renvoie le logarithme en base 2 de e (~1.442);
LOG10E : renvoie le logarithme en base 10 de e (~0.434);
PI : renvoie la valeur du nombre pi (~3.14159);
SQRT1_2 : renvoie 1 sur racine carrée de 2 (~0.707);
SQRT2 : renvoie la racine carrée de 2 (~1.414);
L'objet Math (2)
Méthodes :
abs( ), exp( ), log(), sin( ), cos( ), tan( ), asin( ), acos( ), atan( ), max( ), min( ), sqrt( )
sont les opérations mathématiques habituelles;
atan2( ) : retourne la valeur radian de l'angle entre l'axe des abscisses et un point;
ceil( ) : retourne le plus petit entier supérieur à un nombre;
floor( ) : retourne le plus grand entier inférieur à un nombre;
pow( ) : retourne le résultat d'un nombre mis à une certaine puissance;
random( ) : retourne un nombre aléatoire entre 0 et 1;
round( ) : arrondi un nombre à l'entier le plus proche.
L'objet Date (1) EX 2.2
Propriété : aucune;
Méthodes :
getFullYear( ), getYear( ), getMonth( ), getDay( ), getDate(), getHours( ),
getMinutes( ), getSeconds( ), getMilliseconds( ): retournent respectivement l'année
complète, l'année (2chiffres), le mois, le jour de la semaine, le jour du mois, l'heure,
les minutes, les secondes et les millisecondes stockés dans l'objet Date;
getUTCFullYear( ), getUTCYear( ), … retournent respectivement l'année complète,
l'année (2chiffres), … stockés dans l'objet Date en temps universel;
setFullYear( ), setYear( ), … remplacent respectivement l'année complète, l'année
(2chiffres), … dans l'objet Date;
L'objet Date (2)
setUTCFullYear( ), setUTCYear( ), … remplacent l'année complète, l'année
(2chiffres), … dans l'objet Date en temps universel;
getTime( ) : retourne le temps stocké dans l'objet Date;
getTimezoneOffset( ) : retourne la différence entre l'heure du client et le temps
universel;
toGMTString( ), toLocaleString( ), toUTCString( ) : convertissent la date en chaîne
de caractère selon la convention GMT, selon la convention locale ou en temps
universel;
Les objets du navigateur (1)
L'objet le plus haut dans la hiérarchie est window qui correspond à la fenêtre
même du navigateur.
L'objet document fait référence au contenu de la fenêtre.
document regroupe au sein de propriétés l'ensemble des éléments HTML
présents sur la page. Pour atteindre ces différents éléments, nous utiliserons :
soit des méthodes propres à l'objet document, comme la méthode
getElementById( ), qui permet de trouver l'élément en fonction de son identifiant
(ID);
soit des collections d'objets qui regroupent sous forme de tableaux Javascript tous
les éléments de type déterminé.
Les objets du navigateur (2)
L'objet window (1)
Méthodes :
blur( ) : enlève le focus de la fenêtre;
close( ) : ferme la fenêtre;
focus( ) : place le focus sur la fenêtre;
moveBy( ) : déplace d'une distance;
moveTo( ) : déplace la fenêtre vers un point spécifié;
open( ) : ouvre une nouvelle fenêtre;
print( ) : imprime le contenu de la fenêtre;
resizeBy( ) : redimensionne d'un certain rapport;
resizeTo( ) : redimensionne la fenêtre;
setTimeout( ) : évalue une chaîne de caractère après un certain laps de temps.
L'objet document (1)
Propriétés :
applets : retourne la collection d'applets java présente dans le document;
cookie : permet de stocker un cookie;
domain : indique le nom de domaine du serveur ayant apporté le document;
forms : retourne la collection de formulaires présents dans le document;
images : retourne la collection d'images présentes dans le document;
links : retourne la collection de liens présents dans le document;
L'objet document (2)
Propriétés
appName : application (Netscape, Internet Explorer)
Evénement onLoad
Se produit lorsque une page web est chargée dans la fenêtre du navigateur
Toute la page (y compris les images qu’elle contient si leur chargement est prévu)
doit avoir été chargée pour qu’il ait lieu
Cet événement peut être associé à une image seulement ; auquel cas, il se produit
une fois son chargement terminé
Il peut également être déclenché lorsque l’utilisateur clique n’importe où sur la page
s’il a été associé non pas à un élément spécifique, mais à l’élément body tout entier
<HTML><BODY>
<INPUT TYPE="Button" Value="cliquer ici”
onClick="alert('Clic')">
</BODY></HTML>
Les événements (4)
Événement onMouseover
Analogue à onClick sauf qu’il suffit que l’utilisateur place le pointeur de sa souris sur
l’un des éléments précités (lien hypertexte, image, bouton, texte, etc.) pour qu’il ait
lieu
Événement onMouseout
A l’inverse de onMouseover, cet événement se produit lorsque le pointeur de la
souris quitte la zone de sélection d’un élément.
<HTML><BODY>
<IMG SRC="image.gif" onMouseOver="src='image2.gif';"
onMouseOut="src='image.gif';">
</BODY></HTML>
Nommage des objets-éléments
Dans le cas où l’objet serait unique alors pas besoin de nom pour
désigner cet objet
– Exemple : le cas de BODY(une seul BODY par document),
DOCUMENT (un seul DOCUMENT par fenêtre)
Manipulation des objets
Expires= expdate;
Le mot réservé expires suivi du signe "=" (égal). Derrière ce signe,
vous mettrez une date d'expiration représentant la date à laquelle le
cookie sera supprimé du disque dur du client.
La date d’expiration doit être au format :
Wdy, DD-Mon-YYYY HH:MM:SS GMT
Utiliser les fonctions de l'objet Date
Règle générale : 'indiquer un délai en nombre de jours (ou d'années)
avant disparition du Cookie.
Les Cookies (5)
path=Chemin;
path représente le chemin de la page qui a créé le cookie.
domain=NomDeDomaine;
domain représente le nom du domaine de cette même page
secure
secure prend les valeurs "true" ou "false" : Il permet de spécifier
que le cookie sera envoyé uniquement si la connexion est sécurisée
selon que le cookie doit utiliser des protocoles HTTP simples (non
sécurisés) ou HTTPS (sécurisés).
Ecrire un cookie
Un cookie est une propriété de l'objet document (la page HTML chargée
dans le navigateur) alors l’intruction d’écriture de cookie est:
– document.cookie = Nom + "=" + Contenu + ";
expires=" + expdate.toGMTString() ;