window.
peut être omis pour désigner un objet ou une méthode de la fenêtre courante (sauf dans un gestionnaire d'événement dont l'objet courant étant un document, il faut préciser la fenêtre de ce document).open()
, il faut préfixer par son nom.
Voici les principales propriétés et méthodes
defaultStatus
: représente le message de défaut qui sera affiché dans la barre de statut<body onLoad="defaultStatus='Bonjour à tous'">
status
est un message affiché dans la barre de statut de la fenêtre.
window.status="N\'oubliez pas de fermer vos fenêtres !"
length
représente le nombre de cadres dans la fenêtre parente (0 sinon).
name
représente le nom de la fenêtre
opener
spécifie le nom de la fenêtre parent, qui l'a créée dynamiquement, avec open()
.
parent
est le nom de la frame où se trouve éventuellement la fenêtre
self
est un synonyme pour le nom de la fenêtre et fait référence à la fenêtre courante
top
fait référence à la fenêtre principale du navigateur.
window
est un synonyme pour la fenêtre courante
closed
booléen qui indique si la fenêtre a été fermée.if (! fen.closed) fen.close();
document
c'est le document HTML étudié
history
liste des documents chargés dans la fenêtre (simule l'action des boutons suivant et précédent)
location
= history.go(0)
frames[]
est un tableau représentant tous les cadres dans une fenêtre
Les fenêtres-cadres peuvent être nommées au moment de leur définition par un nom, sinon on peut les référencer par frames[index]
nomFenetre =open("URL","nom_fenetre", "options") ; ouvre une nouvelle fenêtre
|
open()
qui accepte une liste d'options séparées par des virgules
barre d'outils | toolbar[=yes|no] | [=1|0] |
url visible | location[=yes|no] | [=1|0] |
répertoire ? | directories[=yes|no] | [=1|0] |
barre d'état | status[=yes|no] | [=1|0] |
barre de menu | menubar[=yes|no] | [=1|0] |
barre de défilement | scrollbars[=yes|no] | [=1|0] |
redimensionnement | resizable[=yes|no] | [=1|0] |
visibilité permanente ? | alwaysRaised[=yes|no] | [=1|0] |
fermée avec la fen. parente | dependant[=yes|no] | [=1|0] |
hauteur | height= dimension en pixels |
largeur | width= dimension en pixels |
positionnement X | screenX = nb pixels |
positionnement Y | screenY = nb pixels |
window
alert(), prompt() et confirm()
, ont déjà été utilisées nb= prompt('Donner un nombre : ', 7) if (isNaN(nb)) alert( nb+" n\'est pas un entier !");
focus(), blur()
qui active ou désactive la fenêtre
moveBy(dx, dy))
déplace la fenêtre par translation et moveTo(x,y)
déplace le coin gauche, haut au point (x, y).
resizeBy(dl, dh)
et resizeTo(l, h)
jouent des rôles analogues, quant à la taille de la fenêtre.
setTimeout()
et clearTimeout()
open()
, et close()
open()
pour ouvrir une nouvelle fenêtre, nommée fen1
<SCRIPT> var hauteur=200; // hauteur de la fenêtre à créer var largeur=500; options="width="+largeur+",height="+hauteur+"toolbar=yes, directories=no, menubar=no,scrollbars=yes,status=yes"; function OuvrirFenetre1() { fen1 =open("","Nouvelle_fenetre1",options); } </SCRIPT> <form> Pour créer une fenêtre "enfant", cliquer sur ce bouton : <INPUT type =Button value="Nouvelle fenêtre 1" onClick="OuvrirFenetre1()"> </form> |
if (fen != null)
.
<SCRIPT> var hauteur=200; // hauteur de la fenêtre à créer var largeur=500; options="width="+largeur+",height="+hauteur+"toolbar=yes, directories=no, menubar=no,scrollbars=yes,status=yes"; function OuvrirFenetre1() { fen1 =open("","Nouvelle_fenetre",options); } </SCRIPT> <body><form> Pour créer une fenêtre "enfant", cliquer sur ce bouton : <INPUT type =Button value="Nouvelle fenêtre 1" onClick="OuvrirFenetre1()"> <INPUT type =Button value="Fermer" onClick="fen1.close()"> </form></body> |
tp-window.html
, passée en 1er paramètre de OPEN(), va être affichée dans le document dela nouvelle fenêtre.
function OuvrirFenetre2() { fen2 =open("tp-window.html","Nouvelle_fenetre",options); // les 2 lignes suivantes sont équivalentes fen2 =open("","Nouvelle_fenetre",options); fen2.location="tp-window.html"; } |
Ecriture dans la nouvelle fenêtre après sa création
<BR>
ou si le document (pas la fenêtre) est fermé Fen3.document.close();
function EcrireFenetre3(message) { fen3 =open("","Nouvelle_fenetre",options); if (message !="") fen3.document.write(message+"</BR>"); else alert ("message vide !"); } <FORM> Ecrire un court texte dans le champ de saisie ci-dessous <TEXTAREA NAME="zone" ROWS=8 COLS=55 VALUE="" WRAP="PHYSICAL"> Je suis très fier de ma nouvelle fenêtre ! </TEXTAREA> puis le faire afficher dans <TT>MaFenêtre </TT> en cliquant sur : <INPUT type =Button name="Ecrire" value="Ecrire" onClick="EcrireFenetre3(this.form.zone.value)"> </FORM> |
<script> function fermer() { if (fen1 !=null) fen1.close(); if (fen2 !=null) fen2.close(); } function Connexion(moteur) { if (moteur==1) { fen1=open("","YAHOO",opts); fen1.focus(); fen1.location.href='http://www.yahoo.fr'; } else { fen2=open("","NOMADE",opts); fen2.focus(); fen2.location.href='http://www.nomade.fr'; } } <form> <input type=button value="Connexion à Yahoo" onClick="Connexion(1)"> <input type=button value="Connexion à Nomade" onClick="Connexion(2)"> <INPUT type =Button value="Fermer" onClick="fermer()"> </form>Pour tester :
setTimeout()
et clearTimeout()
setTimeout()
déclenche un miniteur, un compte à rebours au bout duquel un expresion JS passée en 1er paramètre sera exécutée; le temps d'attente est passé eb 2ème paramètre.
TimeoutID=setTimeout(expression, ms)
TimeoutID
est un identificateur qui est utilisé seulement pour annuler l’évaluation avec la méthode "clearTimeout()
".
clearTimeout(TimeoutID)
annule le minuteur avant sa fin. Surtout utilisé pour arrêter des appels récursifs d’une fonction passée dans setTimeout()
<HTML><HEAD> <script> var w, id function ouvrir() { w=open("","Essai","width=50,height=100,resizable=1,scrollbars=1") } function essai() { w.focus(); w.document.write("bonjour<BR>") id= setTimeout ("essai()",1000) } function arreter() { clearTimeout(id); w.focus(); } </script></HEAD> <BODY> <form> <INPUT type =Button value="Démarrer" onClick="ouvrir();essai()"> <INPUT type =Button value="Arrêter" onClick="if (w != null) arreter()"> <INPUT type =Button value="Fermer" onClick="if (w != null) w.close()"> </form>Pour vérifier :
function propriétés(objet, nom) { var texte = ""; for (var i in objet ) texte +=nom."i"+i+" " +objet[i] +"<br>; return texte } document.write("<HR>Propriétés <BR>"+ propriétés(document,"document")+"<HR>") |