Initiation à Javascript

Transcription

Initiation à Javascript
Initiation à JAVASCRIPT
Initiation à HTML
[email protected]
Master Créations Images et Multimédia Multilingue / CAWEB
1.Introduction
• JavaScript a été développé par NETSCAPE.
• c’est SUN qui a développé JAVA.
• JavaScript != JAVA : JavaScript est un langage de scripts et
JAVA un langage complet de programmation multiplateformes .
• JavaScript a été conçu pour étendre les possibilités de HTML ,
c’est un langage léger, dit orienté objet.
• Le code est saisi en général dans le document HTML.
• Le code JavaScript n’est pas protégé et peu être lu et copié par
n’importe qui.
• Le script est exécuté au moment du chargement de la page HTML
contenant le script .
• JavaScript ne requiert pas un OS particulier , ni même un
navigateur particulier.
.
1 Introduction ( suite )
•
•
•
Javascript n’est pas très sécurisé , les performances sont plutôt
faibles et ne permettent pas des actions ciblés au niveau de
l’ordinateur exécutant le script.
Il existe un autre langage de script développé par Microsoft :
VBS ( Visual Basic Script )
L’utilisation de VBS est déconseillé car il peut réaliser des
intervention dans Windows , et plus particulièrement dans le
système de fichier
( = dangereux : virus , execution de commandes système… )
1.2 Un langage dit « orienté objet »
• JavaScript est un langage de script moderne basé sur un interface
graphique .
• Lorsque l’on parle de langage orienté objet on parle d’objets , de
propriétés et de méthodes .
• Un objet est comparable à une chose : une voiture , un étudiant.
Pour JavaScript il s’agit principalement des objets WINDOW ,
NAVIGATOR et DOCUMENT.
•
Chaque objet à des propriétés , une voiture à une certaine
couleur , un étudiant à un certain age.
• Les propriétés déterminent plus précisément les objets .
Ex : voiture.couleur=rose etudiant.age=78 ou pour utiliser
un véritable exemple : window.location=index.html
navigator.appName=lynx
1.2 Un langage dit « orienté objet » (suite)
• Les propriétés décrivent les objets avec plus de détails .
• Les méthodes représentent les actions effectués par ces objets.
Une voiture cale ou tombe en panne , un étudiant révise ses cours ,
va aux soirées étudiantes...
voiture.cale() voiture.roule() etudiant.revisions() etudiant.teuf()
dans un cas concret : window.open() window.close()
• Les méthodes sont représentées avec des parenthèses , dans
certaines on y trouvera des instructions plus précises ( passage de
variables à une méthode… )
document.write(“super !!!!!!!!!!!!!!!!!!!!”)
2.0 Intégration de JavaScript dans HTML
• Pour intégrer un script Javascript dans une page HTML, le code du
script doit être placé à l'intérieur des balises <script> et </script>.
Le langage doit être spécifié avec l'attribut language :
<script language="javascript">
Ou (avec HTML 4x 5x)
<script type="text/javascript">
• Généralement on entoure les scripts par des balises de
commentaires (<!-- et -->), ce qui a pour effet de cacher le contenu
des scripts aux anciens navigateurs non compatibles avec la balise
<script>.
<script language="javascript">
<!-document.writeln("Dernière modification de ce document :
"+document.lastModified);
-->
</script>
<noscript>
Votre navigateur n'accepte pas le Javascr ipt.
</noscript>
2.1 Intégration de JavaScript en « externe »
•
On peut choisir de ne pas intégrer un script dans le code HTML.
Pour cela, il suffit d'indiquer à la balise <script> où le fichier script
se trouve. Le fichier script doit porter l'extension .js
Ex : <script src="Script.js" type="text/javascript"></script>
2.2 Premier script
•
Remarque : en JavaScript , chaque ligne est terminée par un point virgule (;) , ce
n’est qu’avec function , if , else , while … qu’il n’y a pas de point virgule !
<html>
<head>
<title>Mon premier script</title>
<script language="JavaScript" type="text/javascript">
<!- document.write(" Hello World !");
-->
</script>
</head>
<body>
<p>Impressionnant JavaScript...</p>
</body>
</html>
3.0 Programmation de scripts : notions de base
•
Les commentaires sont essentiels pour documenter les scripts , un commentaire
sur plusieurs lignes est definis avec /* */ et un commentaire sur une seule ligne
avec // :
/*
ce script est super bien commenté
*/
document.write(“Coucou c’est moi!“); // commentaire court
•
Une variable : kezako ? Un variable est une zone “mémoire” , ce sont des
emplacements de la memoire de l’odinateur ou on stocke des données .
•
Javascript n’est pas un langage typé = on a pas besoin de définir de type pour une
variable ( nombre , texte … ) JavaScript essaye de reconnaitre automatiquement le
type des données. Pour nommer les variables il faut eviter
les accents et les espaces .
3.0 Programmation de scripts : notions de base
•
•
La methode prompt() permet de produire une boite de saisie utilisateur , la
syntaxe de prompt est :
Prompt(“Texte a afficher“,”valeur par défaut”)
La methode alert() permet d’afficher une message dans une boite de dialogue .
Alert(“Texte à afficher”)
<html>
<head>
<title>Premiers essais en JavaScript</title>
<script language="JavaScript" type="text/javascript">
<!-var nom;
nom=prompt("Veuillez saisir votre nom !","");
alert("Heureux de faire votre connaissance, " + nom + " !");
-->
</script>
</head>
<body>
<p>JavaScript c’est classe !</p>
</body>
</html>
3.1 Programmation de scripts : les calculs
• Faire des calculs en JavaScript est relativement simple , on utilisera
les 4 opérateurs ( + , - , * , / ) ainsi que ++ et -• ++ ex : variable++ ( la variable sera incrementé de 1 , Variable++
n’est rien d’autre que variable= variable +1
• -- s’utilise de la même facon que ++ mais dans ce cas la on réduira
la variable.
variable– n’est rien d’autre que variable=variable-1
• Attention pour les nombres à virgules c’est le point (.) qui est utilisé
et non pas la virgule (,) !
3.2 Programmation de scripts : les calculs
<html>
<head>
<title>La super calculatrice</title>
<script language="JavaScript" type="text/javascript">
<!-var a, b, resultat;
a=prompt("Nous multiplions : veuillez saisir un nombre !","");
b=prompt("Veuillez saisir le nombre b, il sera multiplié par a !","");
resultat=a*b;
-->
</script>
</head>
<body>
<h1>La super calculatrice</h1>
<script language="JavaScript" type="text/javascript">
<!–
document.write("Le résultat correct est le suivant : " + resultat +" !");
-->
</script>
</body>
</html>
3.3 Un exemple de boucle
<html>
<head>
<title>Boucle FOR</title>
<script language="JavaScript" type="text/javascript">
<!-var i, z;
z=prompt("Combien de fois le texte doit-il être écrit ?","");
for(i=1;i<=z;i++) {
document.write("ligne " + i + ": Ce cours sur JavaScript est trop bien !<br />");
}
document.write("La tâche est accomplie.");
-->
</script>
</head>
<body>
</body>
</html>
3.4 Les fonctions et la programmation événementielle
•
•
Une fonction est un « conteneur » pour plusieurs commandes ( macros… ) , ces
instructions sont placées entre accolades { }
Attention pour nommer les fonctions à ne pas employer de caractères spéciaux
dit « reservés » % & ; @... Ainsi que certains mots clés : WHILE , IF , BREAK ,
ELSE , FUNCTION , VAR , RETURN , THIS …
syntaxe :
function nom() {
instructions_de_la_fonctions;
}
function silver() {
document.bgcolor=‘’silver’’;
}
3.5 Une fonction afficher()
<HTML>
<HEAD>
<TITLE>Message d'alerte</TITLE>
<SCRIPT LANGUAGE="JavaScript">
document.write("On va afficher un message d'alerte");
function afficher()
{
alert("Vous venez de cliquer sur le bouton!");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT type="button" value="Cliquez ici" onclick="afficher()">
</FORM>
</BODY>
</HTML>
3.5.2 Gerer les évenements
•
Une fonction ne démarre qu’au moment ou on décide de l’activer : il faut utiliser le
gestionnaire d’événements
•
Un événement peut être le chargement d’une page (onLoad) , le clic sur un bouton
( onClick ) , le déplacement de la souris sur un graphique ( onMouserover ) …
•
Les principaux événements :
–
–
–
–
–
–
–
–
–
–
–
Onload : chargement d’un objet ( graphique , page )
onAbort : interruption du chargement d’une page
onClick : clic de souris
onDblclick : double clic de la souris sur un objet
onMouseover : mouvement de souris sur un objet
onFocus : un objet devient l’objet actif
onChange : modification d’un objet ( saisie sur un formulaire par ex. )
onSubmit : envoi du contenu d’un objet
onUnload : fermeture de fenêtre
onReset : remise à zero d’un formulaire
onBlur : saisi formulaire
3.5.3 Exemple de l’utilisation d’une fonction
<html>
<head>
<title>Fonction</title>
<script language="JavaScript" type="text/javascript">
<!-function couleurdefond(couleur) {
document.bgColor=couleur;
}
-->
</script>
</head>
<body>
<h1>Document avec fonction</h1>
<form>
<input type="button" value="rose" onClick="couleurdefond('pink')" />
</form>
</body>
</html>
3.5.4
<html>
<head>
<title>Fonction</title>
</head>
<body>
<h1>Document avec fonction</h1>
<form>
Couleur de fond<br/>
<select Size=5 name=couleurdefond
onChange="document.bgColor=this.options[this.selectedIndex].value">
<option value="aquamarine">aquamarine</option>
<option value="chocolate">chocolate</option>
<option value="darkred">dark red</option>
<option value="darkkhaki">dark khaki</option>
<option value="cadetblue ">cadet blue</option>
<option value="darkgoldenrod">dark goldenrod</option>
<option value="darkslateblue">dark slate</option>
<option value="deeppink">deep pink</option>
<option value="darksalmon">dark salmon</option>
</select>
</form>
</body>
</html>
3.5.4.2
<html>
<head>
<title>Super effet</title>
</head>
<body>
<script language="javascript">
setTimeout("document.body.style.backgroundColor='red'", 1000);
setTimeout("document.body.style.backgroundColor='green'", 2000);
setTimeout("document.body.style.backgroundColor='yellow'", 3000);
</script>
</body>
</html>
3.5.4.3
<html>
<head>
<title>Super effet</title>
</head>
<body>
<script language="javascript">
var countdown=prompt("comb. de msecondes pour le super effet de la mort qui tue?");
function Cycle() {
setTimeout("document.body.style.backgroundColor='red'", 100);
setTimeout("document.body.style.backgroundColor='green'", 400);
setTimeout("document.body.style.backgroundColor='yellow'", 700);
}
var timer=setInterval("Cycle()",1000);
setTimeout("clearInterval(timer)",countdown);
</script>
</body>
</html>
3.6 Démarrer une fonction dans un lien hypertexte
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!-function EpatezVosAmisEnJavaScript() {
alert("Ca vous plait de lancer des fonctions ?");
}
function PortnawakFonction() {
alert("Banzaiiiiiiiiiiiiiiiiiiiiiii ( ninja style ) ?");
}
//-->
</script>
</head>
<body>
<h1 onMouseover="PortnawakFonction()">Document avec fonction</h1>
<form>
<input type="button" value="D&eacute;marrer la fonction"
onClick="EpatezVosAmisEnJavaScript()" />
</form>
<p>Pour d&eacute;marrer la fonction, veuillez cliquer <a
href="javascript:EpatezVosAmisEnJavaScript()">ici</a>!</p>
</body>
</html>
3.7 Changer le fond d'écran
<html>
<head>
<script language=''Javascript '' type="text/javaScript">
function FondEcran(image) {
document.body.background=image;
}
</script>
</head>
<body background="monfondecran.png" >
<form>
<input value="Fond chouette" onclick="FondEcran('fondchouette.png')" type="button">
<input value="Fond beurk" onclick="FondEcran('fondbeurk.png')" type="button">
</form>
</body>
</html>
3.8 Gestion des fenetres
<SCRIPT language= ''javascript''>
function OuvrirPopup(page,nom,option) {
window.open(page,nom,option);
}
</SCRIPT>
• dans un lien :
<A href="javascript:OuvrirPopup('page.html','','fullscreen=yes')">click</A>
à l'ouverture de la page :
<BODY onLoad="OuvrirPopup('page.html','nom','options...')">
3.9 Fermer une fenetre
•
•
•
•
•
C'est la méthode close qui permet de fermer une fenêtre, en paramètre il faut lui
passer le nom de la fenêtre à fermer !
<a href="javascript:self.close('nom_de_la_fenetre_');">Cliquez ici pour fermer la
fenêtre</A>
<A href="javascript:self.close('nom_de_la_fenetre_');"><img
src="image_fermer.png"></A>
<A href="javascript:;" onMouseOver="self.close('nom_de_la_fenetre_');" ><img
src="image_fermer.png"></A>
<a href="#"
onclick="fenetre=window.open('page.html','nom','toolbar=0,menubar=0,location=0')
">popup</a>
<a href="#" onclick="fenetre.close()">fermer</a>
4. Utilisation de JS aujoud'hui
•
AJAX : JavaScript est un des composants essentiels de la technique AJAX (Asynchronous
Javascript And XML). La plupart des applications AJAX utilisent l'objet XMLHTTPRequest
(XHR) pour envoyer une requête à un script serveur et parser dynamiquement les résultats
de ce dernier via DOM.
•
AJAX est une des technologies phares du mouvement Web 2.0 qui définit les interfaces
riches permettant à l'internaute une plus grande interactivité avec la page Web.
•
JSON (JavaScript Object Notation) : format utilisant la notation des objets JavaScript pour
transmettre de l'information structurée, d'une façon plus compacte et plus proche des
langages de programmation, que XML.
•
JS utilisé dans la plate-forme de développement Mozilla : thunderbird,firefox... (extensions
xpi...)
•
JS aussi dans les applications Adobe (Photoshop, Illustrator...) notamment dans les scripts.
Pratiques car non dépendants de l'OS (win,os x...)
•
OpenOffice/LibreOffice permet d'utiliser JavaScript comme langage de macros.
5.Références
•
•
•
•
•
•
•
•
•
•
http://developer.mozilla.org/en/docs/Category:JavaScript
http://javascript.developpez.com/cours/
http://javascript.developpez.com/faq/
http://www.developpez.net/forums/forumdisplay.php?f=23
http://dmoz.org//World/Fran%C3%A7ais/Informatique/Programmation/Langag
http://fr.selfhtml.org/javascript/
http://www.w3schools.com/js/default.asp
http://www.javascriptfr.com
http://www.misfu.com/static/Javascript/sommaire_javascript.html
http://www.dynamicdrive.com

Documents pareils

IUT - cours JS

IUT - cours JS directement dans le document HTML  Un script encadré par des balises HTML  Exécuté chez le client (pas d'appel réseau)  Interprété (compilation à la volée)

Plus en détail