420-PK9-SL Programmation WEB JavaScript DOM



Documents pareils
Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Document Object Model (DOM)

HTML. Notions générales

Programmation Internet Cours 4

Programmation Web. Madalina Croitoru IUT Montpellier

Gestion Électronique de Documents et XML. Master 2 TSM

Formation HTML / CSS. ar dionoea

STID 2ème année : TP Web/PHP

Présentation du Framework BootstrapTwitter

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Module : programmation site Web dynamique Naviguer entre les pages via site map

Les outils de création de sites web

DOM - Document Object Model

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Architecture Multi-Niveaux

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

HTML, CSS, JS et CGI. Elanore Elessar Dimar

La balise object incorporer du contenu en HTML valide strict

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

< Atelier 1 /> Démarrer une application web

Le stockage local de données en HTML5

Formation : WEbMaster

Comment développer et intégrer un module à PhpMyLab?

A. Architecture du serveur Tomcat 6

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

ECLIPSE ET PDT (Php development tools)

Initiation à html et à la création d'un site web

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Notes pour l utilisation d Expression Web

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Eole - gestion des dictionnaires personnalisés

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Optimiser pour les appareils mobiles

Mysql avec EasyPhp. 1 er mars 2006

4. SERVICES WEB REST 46

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

INTRODUCTION AU CMS MODX

Survol des nouveautés

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Création de formulaires interactifs

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Ajax, RIA et HTML Prise en charge d Ajax

TP JAVASCRIPT OMI4 TP5 SRC

PHP 5.4 Développez un site web dynamique et interactif

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Séance d ED n 5 : HTML et JavaScript

HTML5 et CSS3 pour des sites Responsive Web Design

Démarrer avec Ajax et le php: exemple d'application

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Démonstration de la mise en cache via HTML 5 sur iphone

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

{less} Guide de démarrage

WebSSO, synchronisation et contrôle des accès via LDAP

Informatique : Création de site Web Master 2 ANI TP 1

Formation Webmaster : Création de site Web Initiation + Approfondissement

Introduction aux concepts d ez Publish

Stockage du fichier dans une table mysql:

Guide Reseller Onbile

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

SII Stage d informatique pour l ingénieur

Petite définition : Présentation :

Dévéloppement de Sites Web

JACi400 Développement JACi400 Déploiement

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Programmation Web. Introduction

Pour en expliquer le principe, on se limitera à deux exemples :

Guide technique d accessibilité pour la création et la refonte des sites Web de l administration publique. Date : Juillet 2010 Version 1.

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Guide de réalisation d une campagne marketing

Outils logiciels pour l'ingénierie documentaire

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Normes techniques 2011

données en connaissance et en actions?

Mise en œuvre des serveurs d application

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

BES WEBDEVELOPER ACTIVITÉ RÔLE

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Logiciels de référencement

Documentation CAS à destination des éditeurs

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Édu-groupe - Version 4.3

Dans l'article précédent, vous avez appris

Chapitre 1. Prise en main

Spétechs Mobile. Octobre 2013

Aspects techniques : guide d interfaçage SSO

Java 7 Les fondamentaux du langage Java

Transcription:

420-PK9-SL Programmation WEB JavaScript DOM

Introduction Le lien entre JavaScript et le HTML/CSS est une hiérarchie d instances d objets appelé DOM (Document Object Model). À chaque balise HTML correspond une classe. Ces classes contiennent des attributs et des événements Notez qu il n y a pas de méthodes puisqu il n y a pas d animation en HTML. Cependant, les objets parent de ces instances de balises peuvent avoir des méthodes.

Présentation Le principal objet «racine» de cette hiérarchie est l'objet document. Cette racine correspond au document web importé.

Les méthodes suivantes vous permettront d adresser les éléments de la page web..getelementbyid("id") Cette méthode retourne l instance de la balise dont l id est passé en paramètre. <div id="id" > Méthodes principales.getelementsbytagname("balise") Cette méthode retourne une table de toutes les occurrences de la balise spécifiée en paramètre. Notez que cette méthode retourne d'habitude plus d'un élément.

Méthodes principales Les méthodes suivantes vous seront utiles pour manipuler le code HTML et CSS de vos pages WEB..getElementsByName("nom") Cette méthode retourne une table de toutes les balises identifiées par le nom spécifiée en paramètre..getelementsbyclassname("classe-css") Cette méthode retourne une table de toutes les balises utilisant la classe dont le nom est spécifiée en paramètre..innerhtml Cet attribut existe en lecture et en écriture. Il correspond au contenu situé entre la balise d'ouverture et la balise de fermeture.

Notion de nœuds Les éléments de l'hiérarchie représentant notre fichier HTML s'appellent des nœuds. Donc un nœudpeux être : le document lui-même un élément (une balise) un attribut (paramètre) du texte un commentaire

Notion de noeuds Si on veux modifier notre document HTML en y ajoutant des balises, on devra avoir recours aux méthodes suivantes :.createelement() var e = document.createelement("li"); va créer l'élément HTML suivant : <li></li>.createtextnode() e.createtextnode("premier élément") va transformer le nœudde l'exemple précédent comme suit : <li>premier élément</li>.setattribute() e.setattribute("class","moncss"); ajoutera l'attribut à la balise comme suit : <li class="moncss" >Premier élément</li>.appendchild() var ee = getelementbyid("liste-a-puce"); ee.appendchild(e); Ajoute l'élément <li>..</li> précédemment créé à un élément dont l'id est "liste-apuce".

Notion de noeuds On aurait aussi pu obtenir le même résultat comme ceci : var ee = getelementbyid("liste-a-puce"); ee.innerhtml = " <li class="moncss" >Premier élément</li>"; La première méthode nous fournis un moyen de manipuler l'insertion HTML au niveau du DOM tandis que la seconde permet "d'écrire" le code HTML directement au document (en apparence)

Exercice Supposons le code HTML suivant : <div id="message"> </div> Que fait le code JavaScript suivant : var div = document.getelementbyid("message"); div.innerhtml = "Alerte! ";

420-PK9-SL Programmation WEB JavaScript Harmonisation du code WEB

Méthodes Les navigateurs n'interprètent malheureusement pas nos documents HTML/CSS de la même façon. Pour palier à ces différences, il y a trois façons d'harmoniser la présentation d'un document WEB pour la plupart des navigateurs. La «balise» <doctype > Les éléments de style Le recours au JavaScript.

La balise <!doctype > Quand l'html fut inventé, chaque balises avaient un rôle et un sens bien défini et invariable. Le langage balisé s'avéra offrir bien plus en permettant la création de nouvelles balises ou de changer leurs sens. Il n'y eut qu'un pas pour qu'on étende la flexibilité jusqu'à permettre aux utilisateurs de créer leurs propres balises. Ceci se fit par l'entremise d'un document définissant le rôle et la syntaxe de ces balises. Le DTD(Document Type Definition) fit donc son apparition et la fonctionnalité du HTML s'élargit et devint le XML.

Donc, plutôt que de modifier les navigateurs à chaque fois qu'on voulait améliorer le HTML, on fit usage du DTDpour déplacer la définition du langage des navigateurs vers un serveur quelconque. Une balise fut donc créée pour permettre aux navigateurs de savoir avec quel DTD(et où le trouver) interpréter le HTML. Le <!doctype > La balise <!doctype > Par défaut, les navigateurs font appel à un DTD par défaut mais le concepteur d'un document web peux imposer un DTD spécifique pour l'interprétation du HTML utilisé. Pour le HTML, plusieurs DTD sont disponibles. <!doctype > est une balise adressant une directive au navigateur (d'où le! au début).

La syntaxe de la balise <!doctype > est la suivante : Version pour le HTML5. <!doctype html> HTML4 refusant les éléments périmés et les frames. <!doctypehtml public La balise <doctype > "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd" > HTML4 admettant les éléments périmés mais pas les frames. <!doctypehtml public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd" >

La balise <doctype > La syntaxe de la balise <!doctype > est la suivante : HTML4 admettant les éléments périmés et les frames. <!doctypehtml public "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/tr/html4/frameset.dtd"> HTML4 admettant les éléments périmés mais pas les frames. Impose une syntaxe stricte sur les balises. <!doctypehtml public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">

La balise <doctype > La syntaxe de la balise <!doctype > est la suivante : HTML4 admettant les éléments périmés et les frames. Impose une syntaxe stricte sur les balises. <!doctypehtml public "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd"> Comme le XHTML Strict mais permettant l'ajout de modules externes. <!doctypehtml public "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd" >

Variances à propos des styles De plus en plus, les navigateurs font «bande à part» en ce qui concerne le CSS. Au début, seul Microsoft faisait faut-bond à la communauté mais il y a une tendance croissante pour les concepteurs de navigateurs de rédiger leurs propre syntaxe pour les styles. Dans tels cas, nous devons effectuer une recherche Googleen utilisant le nom du navigateur fautif suivi du non de style qui ne fonctionne pas dans ce navigateur. Nous trouverons ainsi des documents nous présentant la différence de syntaxe. Une fois la variante de syntaxe trouvée, nous feront appel au comportement du navigateur qui ne fait qu'oblitérer les erreurs et nous ajouterons les différents styles dans notre classe. Ex.: Prenons le style permettant la transparence d'un objet filter:alpha(opacity=40) Microsoft I/E 8 et avant opacity:0.4 IE9, Firefox, Chrome, Opera, and Safari Notre classe s'écrira donc comme suit :.pale40pourcent { opacity:0.4; filter:alpha(opacity=40); }

Appel à JavaScript. Habituellement, nous définiront nos fonctions JavaScript dans l'entête HTML. Cependant, si nous faisons face : à un code HTML qui diffère en présentation à une variance dans le positionnement à un style n'ayant pas de contrepartie mais ne se comportant pas de la même façon d'un navigateur à l'autre Il nous faudra réécrire une partie de notre HTML dépendamment du navigateur. Ici que JavaScript entre en jeu.

Les méthodes.write() et.writeln()permettent d'injecter du texte ou du code directement dans la page WEB à un endroit bien précis. Cependant, pour accomplir ceci, le code JavaScriptne pourra pas se situer dans le <head> mais plutôt directement imbriqué dans le <body> de notre document WEB. Ex.: Appel à JavaScript. <h1>démo. de variance</h1> <script> if (navigator.appname=="netscape") { document.writeln("<blink>ceci clignotte</blink><br/>") } else </script>

Détails à propos des différents DTD offerts pour le HTML http://www.w3schools.com/tags/tag_doctype.asp Balises disponibles pour chaque version de DTD http://www.w3schools.com/tags/ref_html_dtd.asp L'objet navigator La balise <doctype > http://www.w3schools.com/jsref/obj_navigator.asp Référence du DOM chez W3School : http://www.w3schools.com/htmldom/default.asp Référence pour l'objet noeud http://www.w3schools.com/jsref/dom_obj_node.asp