Programmation des Sites Web. Frames et JavaScript



Documents pareils
Séance d ED n 5 : HTML et JavaScript

TP JAVASCRIPT OMI4 TP5 SRC

// HTML, Javascript XHTML & CSS

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

Attaques de type. Brandon Petty

Introduction à Expression Web 2

Formulaire pour envoyer un mail

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Module BD et sites WEB

CREATION d UN SITE WEB (INTRODUCTION)

TD HTML AVEC CORRECTION

Formation HTML / CSS. ar dionoea

Création de formulaires interactifs

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

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

Présentation du Framework BootstrapTwitter

Bernard Lecomte. Débuter avec HTML

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

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

Activités HTML. Code: act-html

Sécurité des applications web. Daniel Boteanu

Creation d une page Web

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

WEB page builder and server for SCADA applications usable from a WEB navigator

Document Object Model (DOM)

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Techniques de Programmation pour Internet

Dévéloppement de Sites Web

Formulaires et Compteurs

Normes techniques 2011

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Gestion de stock pour un magasin

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

HTML/CSS - Travaux Pratiques 2

SPECIFICATIONS TECHNIQUES BANNIERES SITES PRISMA / TABLETTES / MOBILE

Application Form/ Formulaire de demande

DOCUMENTATION - FRANCAIS... 2

Attaques applicatives

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

Exercices sur SQL server 2000

Spécifications techniques

Once the installation is complete, you can delete the temporary Zip files..

ECLIPSE ET PDT (Php development tools)

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Comment faire un site i-mode?

Travaux dirigés n 10

Tutoriel : Feuille de style externe

Guide de réalisation d une campagne marketing

Configurer la supervision pour une base MS SQL Server Viadéis Services

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

PHP et les Bases de données - Généralités

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

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

BIRT (Business Intelligence and Reporting Tools)

Un mini-site internet en une après-midi

Programmation Web. Madalina Croitoru IUT Montpellier

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

DOM - Document Object Model

Les services usuels de l Internet

SUPPORT DE COURS / HTML

RESPONSIVE WEB DESIGN

MODULE INF112. Préparation pour le CC2

Instructions Mozilla Thunderbird Page 1

HTML. Notions générales

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

ENVOI EN NOMBRE DE Mails PERSONNALISES

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Parcours guidé : créer des pages simples au format html avec Nvu 28/1/10

MANUEL D UTILISATION PRO-FACE

Sana Sellami. Licence Professionnelle SIL

Extended communication server 4.1 : VoIP SIP service- Administration

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Alors "Web" c'est le service Internet permettant de naviguer à travers des pages Web.

Encryptions, compression et partitionnement des données

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Tutoriel de formation SurveyMonkey

SYSTÈMES D INFORMATIONS

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

How to Login to Career Page

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Bases de données et Interfaçage Web

Logitech Tablet Keyboard for Windows 8, Windows RT and Android 3.0+ Setup Guide Guide d installation

Application de lecture de carte SESAM-Vitale Jeebop

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

DOCUMENTATION - FRANCAIS... 2

GAME CONTENTS CONTENU DU JEU OBJECT OF THE GAME BUT DU JEU

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

Luc Brun. Création de pages Web Dynamiques p.1/75

Transcription:

Deuxième Année ENSIMAG ENSIMAG 2000-2001 James L. Crowley Séance 4 7 mars 2001 Plan : Frames et JavaScript Fenêtre de navigation...2 Codage Directe...2 Tables...2 Frames...6 TARGETS :...7 BASE...7 JavaScript...8 Qu'est que Java Script...8 Messages de Alert...10 Fonctions...11 Ouverture d'un fenêtre...13 Communication entre fenêtres...14 Panneau de Contrôle...16 Verification d'un mot de passe...18 Navigation par menu...19 Organisation : Les notes et les exemples sont disponibles surs : http://www-prima.imag.fr/prima/jlc/courses/courses.html 4-1

Fenêtre de navigation Une fenêtre de navigation aide la navigation sur un site. Une telle fenêtre peut être réalisé par plusieurs techniques. Les méthodes possibles comprennent : 1) Par codage direct, avec une table 2) Par une "frameset" 3) Par un scripte "javascript" 4) Par un scripte php. Codage Directe Une possibilité est d'inclure un bloc de code au début de chaque page html. Ce bloc donne acces à des pages principales du site. Le menu est placé dans une table. Tables Des tables sont définies par les balises "<TABLE>...</TABLE>" Les attributs sont : ALIGN, BORDER, HSPACE, VSPACE, WIDTH. D'autre attribut sont supportés uniquement par Netscape ou Explorer Netscape seulement : CELLPADDING, CELLSPACING, Explorer seulement : BORDERCOLOR, BORDERCOLORLIGHT, BORDERCOLORDARK, VALIGN. <TABLE ALIGN= LEFT, RIGHT> Par défaut, les tables coupe la texte. <TABLE > Ici du texte. TABLE 4-2

Encore du texte. L'attribut ALIGN spécifie que le texte droit passé à côté de la table. <TABLE ALIGN= LEFT> TABLE Ici du texte À droite de la table. Voici un exemple d'une <A href ="www/seance4/menu1.html">page modèle</a> Les lignes d'une table sont définises avec<tr> et <TD> <TABLE> <TR> Table row <TH>Column Heading</TD><TD>Column Heading</TD></TR> <TR> Table row <TD>Table Cell</TD><TD>Table Cell</TD></TR> </TABLE> Avec un menu dans une table alignée à gauche, si le texte dépasse le menu, il prend tout le page. Cela n'est pas tres joli. On peut éviter ceci avec une table dans une table. Le page est une table composée de deux colonne. La colonne de gauche contient une seconde table d'une colonne. La deuxième table contient le menu. Menu Le Page <TABLE><TR VALIGN=top> <TABLE> <TR><TD> MENU-1</TD><TR> <TR><TD> MENU-2</TD><TR> </TABLE> <TR><TD> Le contenu du page 4-3

</TD><TR></TABLE> Une <A href ="www/seance4/menu2.html"> exemple </A> Sa source est : <TITLE>Exemple menu2.html</title> <BODY BGCOLOR=#FFFFFF VLINK=#0000FF AVLINK=#0000FF VLINK=#0000FF> <H1 ALIGN="CENTER">A hard coded index table </H1> <!-- Open a table for the entire page --> <!-- This assures that the text can be beside the index table --> <TABLE> <TR VALIGN=top> <TD bgcolor="#ffffff"> <!-- Open a second table for the index --> <!-- This assures that the text can be beside the index table --> <TABLE > <TR> <TD BGCOLOR="#00AAAA" WIDTH="160" CELLSPACING="2" CELLPADDING="0"> <a href="../../asi.tpi.s4.html">seance 4</a> </TD> </TR> <!-- An HREF is placed in each row. It has a blue background --> <TR><TD BGCOLOR="#00AAAA"> <a href="menu1.html">menu1.html</a> </TD></TR> <!-- This is the current page. It is NOT an HREF and highlighted in RED --> 4-4

<TR><TD BGCOLOR="#FF0000"> <FONT COLOR="#FFFFFF" FACE="Arial, Helvetica"> menu2.html </FONT></TD></TR> <!-- An HREF is placed in each row. It has a blue background --> <TR><TD BGCOLOR="#00AAAA"> <a href="menu3.html">menu3.html</a> </TD></TR> <!-- and empty row read for use --> <TR><TD BGCOLOR="#00AAAA"></TD></TR> </TABLE> <!-- this is the main body of the page --> <CENTER> <TD> <H1>An index table</h1> </CENTER> <HR> This is an example of a hard coded index table. Every page must be a table of tables. The outer table has two colums.the left column contains a table with one column containing the menu of HREF's to other pages. </TD> </TR> </TABLE> Un alternatif est de faire une "Frame Set". 4-5

Frames Les Frames était inventé par Netscape, il y a quelques années. Desormis, Ils font partie de la définition officielle de HTML 4.0. Ils sont supportés par les versions récentes d'explorer Un "frameset" est un maillage de la fenêtre. On peut faire un menu de navigation avec une Frameset composé de deux cellules. À gauche de la page, on place une cellule composée d'une page de navigation avec les hrefs pour les autres pages. À droite, on affiche les pages. <FRAMESET COLS="160,*"> Les attributs ROWS et COLS définit la taille et le nombre de lignes et colons. Les attributs sont entourés de "quotes". Le nombre d'argument détermine le nombre de colonnes ou lignes. Les valeurs déterminent leur taille. Exemple : ROWS ="100,150, *" - Trois lignes de taille 100 pixels, 150 pixels, et la reste du page. COLS = "20%, *" - deux colonnes. Le premier a 20% du page. Le deuxième occupe le reste. Le contenu des fenêtres est spécifié par une balise <FRAME> <FRAMESET COLS="160,*"> <FRAME SRC="toc.html"> <FRAME NAME="main" SRC="bienvenu.html"> </FRAMESET> Les attributs comprennent : SRC - L'URL de l'objet d'afficher. (HTML, image, filme, etc.) NAME - Nom pour la référence de la fenêtre, for usage avec <A> NORESIZE - Inhibition de la manipulation de la taille. SCROLLING YES, NO, AUTO pour le défilement. <NOFRAMES> </NOFRAMES> Si le navigateur ne support pas les frames, le contenu de NOFRAMES est affichés. 4-6

TARGETS : <BODY> <H3>Menu</H3> <A HREF="p1.html" TARGET="main">Page 1</A> <A HREF="p2.html" TARGET="main">Page 2</A> Un simple HREF dans un menu remplacerait le contenu de la fenêtre du menu. On voudrait plutôt remplacer le contenu de l'autre fenêtre. Avec TARGET, on peut spécifier le fenêtre cible. Les TARGETs prédéfinit : _blanc : Une nouvelle fenêtre vide. _self : valeur par défaut - le fenêtre de la balise <A> _parent : La fenêtre du parent. Pour un seul niveau _parent=_self _top : le fenêtre du sommet de lahiérarchie. BASE On peut éviter de spécifier TARGET dans chaque <A> avec <BASE> <BASE target=main> <BODY> <H3>Menu</H3> <A HREF="p1.html">Page 1</A> <A HREF="p2.html">Page 2</A> 4-7

JavaScript Qu'est que Java Script JavaScript est une language "embedded" de script interprété par les navigateurs moderne. JavaScript a fut inventé par Netscape, mais il est également supporté par MS Explorer. JavaScript utilise le syntaxe du Java (inventé par SUN). Attention : JavaScript n'est pas Java! JavaScript est encastré dans le code "html". Un script est facilement inclus dans un page html. Le "wrapper" classique pour JavaScript est : <!-- // --> Java est un langage a objet, mais faiblement typé. Dont les objets pre-définit sont : "Navigator" a les attributs Navigator.appName et Navigator.appVersion. Screen avec les attributs Screen.width, Screen.height, Screen.colorDepth, Screen.pixelDepth Les objet Java ont également les méthodes (procedures). Par exemple, l'objet "window" inclut : window.alert(),window.open(),window.close(),window.prompt() et bien d'autre 4-8

Exemple S4.1.html <TITLE>Un Petit Script</TITLE> </HEAD <H1> <SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT"> <!-- Projection des navigateurs avant Netscape 3.0 document.write(navigator.appname + " " + navigator.appversion) // Fin du zone protege --> </H1> <NOSCRIPT> <H2>Cet page exige JavaScript</H2> <A HREF="http://home.netscape.com">Netscape</A> Home </NOSCRIPT> Les Scripts peuvent être placé entre et ou bien entre <BODY> et. Il sont placé dans une zone <SCRIPT>... <SCRIPT> peuvent prendre les attributs LANGUAGE et TYPE Les commentaire en Java Script commence par "//" sur un ligne ou bien entre /* et */ pour les ligne multiples. On doit protéger les navigateurs non-equipé de Java Script avec un balise de commentaire <!--- fermé par --> Un balise <NOSCRIPT> permet d'afficher un message d'erreur si le Browser n'est pas équipé de JavaScript. 4-9

Messages de Alert On peut créer un boit avec un message d'alerte avec "alert". Java Permet les if () else; du style "C". On peut rediriger l'utilisateur a une autre script avec l'attribut "location" de l'objet "window" : window.location Exemple S4.2.html <TITLE>Exemple d'un ALERT</TITLE> <SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT"> <!-- Projection des navigateurs avant Netscape 3.0 //Navigator indique le Navigateur courant. if(navigator.appname == "Netscape") alert("netscape Detected. Tres Bien!") // window est le fenetre courant // window.location est son address. window.location = "bienvenue.html" else alert("vous n'est pas sur Netscape!") // Fin du zone protege --> <H1> Alert</H1> <NOSCRIPT> <H2>Cet page exige JavaScript</H2> <A HREF="http://home.netscape.com">Netscape</A> </NOSCRIPT> 4-10

avec le script bienvenu.html <TITLE>Bienvenu avec Netscape</TITLE> <H1> Netscape est bienvenu ici</h2> <A HREF="S4.2.html">S4.2.html</A> Fonctions On peut définir les fonctions JavaScript qui sont déclenché par les evenements. Par exemple un fonction de changer le couleur du fond est fonction setcolor(colorstr) document.bgcolor = colorstr; 4-11

Exemple S4.3.html <TITLE>Exemple d'un fonction</title> <!-- Hide script from older browsers function setcolor(colorstr) document.bgcolor = colorstr; // End hiding script from older browsers --> <H2> Changer le couleur du fond </H2> <HR> <FORM> <INPUT TYPE="button" VALUE="blanc" onclick="setcolor('#ffffff')"> <INPUT TYPE="button" VALUE="gris" onclick="setcolor('#c0c0c0')"> <INPUT TYPE="button" VALUE="bleu ciel" onclick="setcolor('#64bae2')"> <INPUT TYPE="button" VALUE="citron" onclick="setcolor('#fff8b9')"> <INPUT TYPE="button" VALUE="mauve" onclick="setcolor('#c0c0f0')"> <INPUT TYPE="button" VALUE="peche" onclick="setcolor('#ffcb9f')"> <INPUT TYPE="button" VALUE="rouge" onclick="setcolor('#ff000')"> <INPUT TYPE="button" VALUE="vert" onclick="setcolor('#00ff00')"> <INPUT TYPE="button" VALUE="bleu" onclick="setcolor('#0000ff')"> </FORM> 4-12

Ouverture d'un fenêtre Exemple S4.4.html On peut ouvrir un fenêtre avec la méthode window.open() de la classe window. <TITLE>Window Test</TITLE> <!-- Hide script from older browsers function newwindow() imgwindow = window.open('skier.mov.gif', 'imgwin', 'width=175,height=150') // End hiding script from old browsers --> <CENTER><H1>Skiing in Grenoble</H1> <H3>Its time for Spring Skiing</H3> <A HREF="javascript:newWindow()">Click here</a> to see why. </CENTER> 4-13

Communication entre fenêtres Une fenetre fillle peut communiquer avec une fenetre mere par "UpdateParent". Exemple S4.5.html et S4.6.html <TITLE>Page Pere</TITLE> <!-- newwindow = window.open('s4.6.html', 'newwin') // --> <CENTER><H1>Page Mere</H1> <FORM NAME=outputForm> <INPUT TYPE=TEXT SIZE=20 NAME=msgLine VALUE=""> </FORM></CENTER> avec le script S4.6.html <TITLE>Page fils </TITLE> <!-- function updateparent(textfield) opener.document.outputform.msgline.value = "Bonjour " + textfield.value + "!"; window.close() // --> <H1>Quel est votre nom?</h1> <FORM> <INPUT TYPE=TEXT ONBLUR="updateParent(this)" SIZE=20> 4-14

</FORM> Exemple S4.7.html <TITLE>Main Window</TITLE> <CENTER><H1>Ceci est le Pere</H1> <!-- newwindow = window.open('', 'newwin', 'toolbar=no,location=yes,scrollbars=yes,resizable=yes,width= 400,height=300') newwindow.document.write("<title>generated Window</TITLE><H2>Ceci est nouveau fenetre</h2>") newwindow.document.writeln("<br>ceci est un test<br>") newwindow.document.write("") newwindow.document.close() // --> 4-15

Panneau de Contrôle Exemple S4.8.html <TITLE>Creation d'un panneau de controle</title> <!-- newwindow = window.open('s4.9.html', 'newwin', 'width=300,height=300,left=600,top=0') // --> <CENTER><H1>Jim Crowley's Web Page</H1> <H2></H2> <IMG SRC="jim.GIF"> </CENTER> avec le Panneau de Controle S4.9.html <TITLE>Panneau de Controle</TITLE> <!-- function updateparent(newurl) opener.document.location = newurl // --> <CENTER><H1>Control Panel</H1> <ul> <H3><A HREF="javascript:updateParent('jlc.html')">Jim Crowley</A><BR> <A HREF="javascript:updateParent('jlc.html#ResearchActivities') ">Research Activities</A> 4-16

<A HREF="javascript:updateParent('jlc.html#Diplomas')">Diplomas </A> <A HREF="javascript:updateParent('jlc.html#ProfessionalActiviti es')">professional Activities</A> <A HREF="javascript:updateParent('jlc.html#Publications')">Publ ications</a> <A HREF="javascript:updateParent('http://volmontagne.decollage. org/english/')">mountain Flying</A> </ul> </CENTER> 4-17

Verification d'un mot de passe JavaScript peut être très util pour la verification des information venant d'une formulaire. Exemple S4.10.html <TITLE>Exemple d'une Forme</TITLE> <!-- function validform(passform) if (passform.passwd1.value == "") alert("you must enter a password") passform.passwd1.focus() return false if (passform.passwd1.value!= passform.passwd2.value) alert("passwords do not matched. Please try again.") passform.passwd1.focus() passform.passwd1.select() return false return true; // --> <H2>Create a Password</H2> <HR> <FORM onsubmit="return validform(this)" action="thanks.html"> <P>Your Name: <INPUT TYPE=TEXT size=30"> <P>Choose a Password: <INPUT TYPE=PASSWORD NAME="passwd1"> <P>Retype Password: <INPUT TYPE=PASSWORD NAME="passwd2"> <P><INPUT TYPE=SUBMIT Value="Submit"> <input TYPE=RESET> </FORM> 4-18

Navigation par menu En lieu d'exiger que l'utilisateur tape "submit", on peut permettre la dépacement par menu. Exemple S4.11.html <TITLE>Navitation par menu</title> <!-- function jumppage(newloc) newpage = newloc.options[newloc.selectedindex].value if (newpage!= "") window.location.href = newpage // --> <H2>Choix des Exemples</H2> <HR> <FORM ACTION="thanks.html" METHOD=GET> <SELECT NAME="newLocation" onchange="jumppage(this.form.newlocation)"> <OPTION VALUE="" SELECTED>Select a topic <OPTION VALUE="S4.1.html" >S4.1.html <OPTION VALUE="S4.2.html" >S4.2.html <OPTION VALUE="S4.3.html" >S4.3.html <OPTION VALUE="S4.4.html" >S4.4.html <OPTION VALUE="S4.5.html" >S4.5.html <OPTION VALUE="S4.6.html" >S4.6.html <OPTION VALUE="S4.7.html" >S4.7.html <OPTION VALUE="S4.8.html" >S4.8.html <OPTION VALUE="S4.9.html" >S4.9.html <OPTION VALUE="S4.10.html" >S4.10.html </SELECT> </FORM> 4-19