JavaScript.

Slides:



Advertisements
Présentations similaires
JavaScript M. Debacker et E. Leconte. Philosophie du JavaScript.
Advertisements

1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
LE LANGAGE JAVASCRIPT LES FENETRES.
Conception de Site Webs dynamiques Cours 6
Conception de Site Webs dynamiques Cours 5
Conception de Site Webs Interactifs Cours 3
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 8 Patrick Reuter.
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Copyright France Télécom, tous droits réservés Paris Web Ateliers Les bibliothèques JS jQuery Orange Labs Julien Wajsberg, Recherche & Développement.
Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 (X)HTML / Pages Web Statiques.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
1 Javascript Merci à Emmanuel Nauer. 2 Javascript Quid ? Langage de programmation lié à HTML. Code Javascript intégré aux pages HTML. Code interprété
SVG: Scalable Vector Graphics
Personal Home Page / Hypertext Processor (PHP)
JavaScript.
HTML Les types de balises
TP 3-4 BD21.
Manipulation d’XML avec XSL
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction aux Web Services Partie 1. Technologies HTML-XML
Gestion de la communication par établissement sur le site ville
CPI/BTS 2 Programmation Web Introduction au PHP
Faculté I&C, Claude Petitpierre, André Maurer What is this ? (Quest ce que this ?)
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
Introduction à DOM Maroua Bouzid
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Le langage Javascript pour le web
Le langage Javascript pour le web et application au DHTML
Méthode de suppression des cadres entourant les animations flash et activation automatique de leur focus lors du chargement des pages dans Internet Explorer.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Arbres DOM (OC informatique, EPFL)
IFT 6800 Atelier en Technologies d’information
Web dynamique PhP + MySQL AYARI Mejdi 2006
JSP (Java Server Pages)
AJAX.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Arbres DOM et XML (OC informatique, EPFL). html head body table html headbody table tr td texte1texte2 tr td texte3texte4 Deux représentations d’un arbre.
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
TP n°3 Javascript Contrôle de formulaire
TP n°2 Javascript EVENEMENTS ET OBJETS
PHP & My SQL.
Le langage XHTML 420-S4W-GG Programmation Web Client
Introduction au langage PHP Licence Pro Cours Internet / Intranet Utilité Historique Exemples Fonctions PHP Classes.
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
Programmation JavaScript cours inspiré du cours de R. Vivian.
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
PROGRAMMATION WEB FRONT-END.
JavaScript Nécessaire Web.
Introduction à JavaScript
JavaScript.
Cours de programmation web
 Objet window, la fenêtre du navigateur
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Dynamic HTML Regroupement de trois éléments : le HTML
S'initier au HTML et aux feuilles de style CSS Cours 5.
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
Initiation au JavaScript
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
Le JavaScript.. Histoire Langage créé en 1995 par Brendan Eich pour la Netscape Communications Corporation. Est inspiré de nombreux langages, notamment.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
1 Programmation Web : DOM / JavaScript. 2 DOM = Document Object Model  API (Application Programming Interface) pour la manipulation de HTML / XML  Définit.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

JavaScript

Qu’est-ce que JavaScript ? Le client URL Le serveur (navigateur) (HTTP) URL Translation URL => fichier statique Pages HTML statiques La page courante est détruite quand l’utilisateur navigue vers une nouvelle page

Qu’est-ce que JavaScript ? Le client URL + paramètres Le serveur (navigateur) (HTTP) Translation URL => Programme Envoi du résultat du programme URL + paramètres Pages HTML dynamiques (PHP, CGI,…) La page courante est détruite quand l’utilisateur navigue vers une nouvelle page 3

Qu’est-ce que JavaScript ? Le client URL + paramètres Le serveur (navigateur) (HTTP) Pages HTML contenant du JavaScript La page est modifiée sans rechargement ni nouvelles requêtes au serveur 4

JavaScript Permet de modifier dynamiquement la page web. Créé par Netscape en 1996. PHP, ASP, CGI, etc. : scripts coté serveur. Nécessite un rechargement de la page. Envoie d’un formulaire, clic sur un lien <meta http-equiv="refresh" content="5" /> JavaScript : script coté client. Ne recontacte pas le serveur web. Réagit aux événements souris, clavier, formulaires Peut modifier une sous-partie de la page Note : aucun lien avec Java. Nom officiel ECMAScript.

Ajouter du JavaScript à une page Dans le fichier XHTML <script type="text/javascript"> document.write("<h1>Hello World!</h1>"); </script> A l’extérieur <head> <script src="script.js"  type="text/javascript"></script> </head> Note : ceci ne fonctionne pas avec IE : <script src="script.js" type="text/javascript" />

Ce que permet Javascript Réagir à des événements <button type="button" onclick="alert('Bienvenue !')"> Cliquez ici </button> HTML

Ce que permet Javascript Changer le contenu HTML JavaScript // Trouver l'élément par son identifiant x = document.getElementById("demo") // Modifier le contenu x.innerHTML = "Ceci est le nouveau contenu !";

Ce que permet Javascript Changer le contenu HTML <script> function changeImage(){ element=document.getElementById('monimage'); if (element.src.match("allumee")){ element.src="ampoule_allumee.gif"; } else { element.src="ampoule_eteinte.gif"; } </script> <img id="monimage" onclick="changeImage()"  src="ampoule_eteinte.gif> HTML

Ce que permet Javascript Changer le style HTML Valider une entrée Écrire dans la sortie JavaScript x=document.getElementById("demo")  // Trouver l'élément x.style.color="#ff0000";           // Changer son style if (isNaN(x)) {alert("Non numérique...")}; JavaScript if (!verifieEntree(x)) {alert("Entrée non conforme")}; <h1>Ma page Web</h1> <script> document.write("<p>Mon JavaScript</p>"); </script> (attention, uniquement pendant le chargement de la page...) HTML

Syntaxe Comme en C et en Java : Comme en Java : Des points-virgules Des accolades Les opérateurs + - * / % ++ -- = += -= *= /= %= == != < > <= >= && || ! ?: Comme en Java : Les structures de contrôle (voir plus loin) Opérateur + pour la concaténation des chaînes de caractères x = 5 + 5; // 10 x = "5" + "5"; // "55" x = 5 + "5"; // "55"  x = "5" + 5; // "55"

Syntaxe Variables : var x = 10; Pas de type de variable à la déclaration Variables locales au bloc courant Les variables non déclarées sont créées à la 1ère affectation 5 types de variables en interne (booléen, nombre, string, fonction, objet) x = "string \"xyz\" !\nXYZ"; Opérateur typeof Opérateur === pour tester la valeur et le type 10 == "10"; // true 10 === "10"; // false Expressions régulières var str = "Polytech Paris-Sud"; var re = /polytech/i; alert(str.match(re));

Syntaxe Les tableaux sont des objets : var tab = new Array(); tab[0] = 123; tab[1] = 456; tab["key"] = "value"; var tab = new Array(123, 456, 789); var tab = [123, 456, 789];

Syntaxe Structures de contrôle : if(x){ … } else if(y){ … } else{ … } switch(x){ case 1: …; break; default : … } for(x = A; x < B; x++){ … } et break; continue; while(x){ … } et do{ … } while(x); for(x in obj){ … } x = les index, clefs, propriétés de obj try{ … } catch(err) { alert(err.description); } throw var; N’importe quel type de variable peut être une exception function name(arg1, arg2){ …; return x; }

Objets prédéfinis (1/2) Un objet JavaScript est un ensemble de propriétés. Les propriétés de type fonction agissent comme des méthodes. Singletons document, window, navigator, Math,… document.write("Hello World!"); window.status = "Hello World!"; alert(navigator.appName); alert(Math.sqrt(Math.PI)); Exceptions (lancées par JavaScript), strings,… catch(err) { alert(err.description); } var txt = "Hello World!"; alert(txt.length); alert(str.toUpperCase());

Objets prédéfinis (2/2) Types standard var date = new Date(2010, 2, 14); var today = new Date(); // Par défaut aujourd’hui var tab1 = [1, 2, 3]; var tab2 = [10, 20, 30]; tab3 = tab1.concat(tab2); // [1, 2, 3, 10, 20, 30] // Et aussi push, pop, slice, join, sort,… Surcharge d’opérateurs (uniquement pour les types standard) if (today > date) { alert("En retard pour la St Valentin"); } date.setDate(date.getDate() + 45); // 28/04/2010

Objets Définir vos propres objets : objets anonymes Définir une classe var obj = new Object; obj.x = 1; obj.y = 2; Définir une classe function MaClasse(arg){     this.x = 1;     this.y = arg; } var obj = new MaClasse(2);

Interactions avec l’utilisateur Événements : attributs onXXX en HTML4 <input type="text" size="30" id="email"   onchange="checkEmail()"> <a href="http://www.limsi.fr" onmouseover= "window.status='Site du LIMSI';">LIMSI</a> <form method="post" action="script.php"  onsubmit="return checkForm()"> Si checkForm() retourne false, script.php n’est pas appellé

Interactions avec l’utilisateur Événements : propriétés onXXX du DOM element.onclick = maFonction; // Pas de parenthèses maFonction a accès à this : element.onclick = maFonction; another_element.onclick = maFonction; function maFonction() { this.style.backgroundColor = '#FF0000'; }

Les événements Événements souris onclick Clic sur l’élément ondblclick Double-clic sur l’élément onmousedown Appui de la souris sur l’élément onmousemove Déplacement de la souris au-dessus de l’élément onmouseover Arrivée de la souris sur l’élément onmouseout Sortie de la souris de l’élément onmouseup Relâchement de la souris sur l’élément

Les événements Événements clavier Événements objets / fenêtre onkeydown Appui sur une touche onkeypressed Appui puis relâchement de la touche onkeyup Relâchement de la touche onabort Chargement d’une image interrompu onerror Chargement d’une image qui échoue onload Chargement d’un élément, du document onresize Redimensionnement du document onscroll Scroll sur le document onunload Fermeture de la page

Les événements Événements formulaires onblur Un élément de formulaire perd le focus onchange Le contenu d’un élément change onfocus Un élément de formulaire prend le focus onreset Le formulaire est réinitialisé onselect Sélection de texte dans un formulaire onsubmit Soumission du formulaire

Cookies Les cookies sont aussi disponibles en JavaScript document.cookie : tous les cookies d’un coup concaténés en une seule string function getCookie(name){ if(document.cookie.length > 0){   var start = document.cookie.indexOf(name + "=");   if (start != -1){     start += name.length + 1;     end = document.cookie.indexOf(";", start);     if(end==-1) end = document.cookie.length;     return unescape(document.cookie. substring(start, end));     }   } return ""; } Utilisez une librairie (jQuery par exemple)

XHTML Document Object Model (DOM) Les documents XHTML sont des arbres XML, et DOM un moyen de parcourir et modifier ces arbres Des objets JavaScript représentent les nœuds x.innerHTML le texte contenu dans x x.nodeName le type de balise de x (p, div,…) x.parentNode référence au noeud parent de x x.childNodes liste des nœuds enfants de x x.attributes liste des attributs (class,…) de x x.style.attributCSS change le style de l’élément

XHTML Document Object Model (DOM)

XHTML DOM Accès aux nœuds document.body : le nœud body + navigation avec parentNode, childNodes, next/previousSibling, etc. (document.documentElement donne la racine <html>) Par id : retourne un objet de type nœud document.getElementById("menu"); Par type de balise : retourne une liste de nœuds document.getElementsByTagName("p"); Pas de getElementsByClass dans le standard

XHTML DOM Alternative à innerHTML : x.style.attributCSS x.innerText : Internet Explorer seulement ! x.childNodes[0].nodeValue : le texte contenu dans un nœud est lui-même un nœud spécial de type nodeType = 3 (Text) x.style.attributCSS attributCSS a presque le même nom qu’en CSS On enlève les "-"  et on met une majuscule sur le mot suivant background-color → style.backgroundColor font-family → style.fontFamily (Plus d’info http://www.howtocreate.co.uk/tutorials/javascript/domcss)

XHTML DOM x.attributXHTML Fonctions spéciales pour certaines balises document.getElementById("UneForm").action = "script.php"; document.getElementById("UneCheckbox").checked = true; document.getElementById("UneImg").src = "over.png"; Fonctions spéciales pour certaines balises document.getElementById("UneTable").deleteRow(2); document.getElementById("UneForm").submit();

XHTML DOM parent.removeChild(node); var node = document.createElement("p"); node.class = "test"; node.innerHTML = "Nœud créé " + "dynamiquement"; parent.appendChild(node); var newnode = node.clone(); parent. appendChild(newnode);

L'objet window Représente la fenêtre du navigateur Taille : window.innerHeight, window.innerWidth (IE8+, Chrome, Firefox, Opera, Safari) document.body.clientHeight, document.body.clientWidth (IE7-) var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

L'objet window Méthodes window.screen Représente l'écran de l'utilisateur screen.availWidth, screen.availHeight window.open() Ouvre une nouvelle fenêtre window.close() Ferme la fenêtre window.moveTo() Déplace le fenêtre window.resizeTo() Redimensionne la fenêtre

L'objet window window.location (URL) window.history : Pour se déplacer dans l'historique des pages visitées document.write(location.href); window.location.assign("http://www.polytech.u-psud.fr"); history.back(); history.forward();

L'objet window window.navigator : Informations sur le navigateur <div id="example"></div> <script> txt ="<p>Browser CodeName: " + navigator.appCodeName + "</p>"; txt+="<p>Browser Name: " + navigator.appName + "</p>"; txt+="<p>Browser Version: " + navigator.appVersion + "</p>"; txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>"; txt+="<p>Platform: " + navigator.platform + "</p>"; txt+="<p>User-agent header: " + navigator.userAgent + "</p>"; txt+="<p>User-agent language: "+navigator.systemLanguage+"</p>"; document.getElementById("example").innerHTML=txt; </script>

L'objet window Les pop-ups window.alert("Bonjour"); var r = confirm("Choisissez"); if (r == true) {   x = "OK !"; } else {   x = "Annulé !"; }

L'objet window Les pop-ups var name = prompt("Quel est votre nom ?", "Homer Simpson"); if (name != null && name != ""){ x = "Bonjour" + name + " !"; }