Utiliser l'objet Window en JavaScript

Window est un objet qui correspond à la fenêtre dans laquelle s'affiche une page Web. Une telle fenêtre peut être créée dynamiquement.
Ce n'est pas un objet JavaScript, et il n'est pas défini par la spécification DOM du W3C. C'est un standard de fait.

Les attributs et méthodes de l'interface window sont reconnus par Internet Explorer 4, Firefox 1, Opera 9, les versions plus récentes et Safari. Ce document se base sur ce qui est supporté par les navigateurs à défaut de standard officiel, voir références.

On designe la fenêtre courante par le mot-clé window et toute fenêtre créée dynamiquement par le nom donné à l'objet assigné par la valeur de retour de la méthode open.

Definition et test des attributs et objets internes à window

Définitions des attributs et objets

Ces attributs peuvent être lus seulement pour certains, une valeur peut leur être assignée autrement.

frames[]
Les frames dans la fenêtre. Lecture seule.
length
Nombre de frames. Lecture seule.
name
Nom de la fenêtre.
status
Texte de la barre d'état.
Sous Firefox, la modification de ce texte est une option. Aller dans Option, Contenu, JavaScript et cliquer sur le bouton Avancé. Puis cocher l'option "Modifier le texte de la barre status".
defaultStatus
Texte par défaut de la barre d'état.
closed
Etat de fenêtre fermée ou non.
opener
Référence sur la fenêtre qui a ouvert cette fenêtre. Exemple:
x = window.opener;
parent
La fenêtre parent d'une fenêtre donnée. Exemple:
x = mywin.parent;
top
Le parent de plus haut niveau.

Objets contenus dans window

Ces objets qui ont leurs attributs et méthodes propres, ne sont pas détaillés ici, ils ont leur propre page.

document
Désigne une page, celle que contient une fenêtre. Document.
history
Liste des pages précédemment vues dans la même fenêtre. History.
location
Désigne l'URL d'une page, celle que contient la fenêtre. Location.
screen
Désigne l'écran et contient les propriétés: width, height, availWidth, availHeight, colorDepth.

Voir aussi les attributs de création de fenêtre dans le chapitre: Ouvrir une fenêtre en JavaScript.

Test des propriétés de l'objet Windows selon le navigateur

Les propriétés non supportées par un navigateur sont undefined.
Certaines propriétés sont utilisables en paramètres du constructeur de fenêtre mais ne sont accessibles directement et ne sont pas listées ici.

innerWidth innerHeight

outerWidth outerHeight

locationbar menubar personalbar statusbar toolbar scrollbars

pageXOffset pageYOffset

screenX screenY

directories

status defaultStatus

opener

parent

top

name

length

Ne fonctionnent pas avec IE 7

offscreenBuffering

On peut obtenir des valeurs équivalentes sous Internet Explorer et tous navigateurs avec:

document.body.clientHeight

document.body.clientWidth

document.body.offsetHeight

document.body.offsetWidth

document.documentElement.offsetHeight

document.documentElement.offsetWidth

Autres

Crypto

Attention: La déclaration DOCTYPE peut affecter ces valeurs.

Méthodes de window et tests

Définitions des méthodes
alert(message)
Affiche un message.
x = prompt(message)
Présente une boite de dialogue qui demande une réponse utilisateur et retourne la réponse.
x = confirm(message)
Affiche un message, une question normalement, avec deux boutons pour confirmer ou annuler. Retourne true ou false.
resizeTo(w, h)
Redimensionne à la largeur et hauteur données.
scrollTo(x, y)
Déroule à la position donnée. Le défilement doit être activé pour le fenêtre selon scrollbars, c'est le cas par défaut.
moveTo(x, y)
Déplace à la position donnée.
id = setInterval(expression, millisecondes)
Evalue une expression répétitivement selon l'intervalle de temps donné.
clearInterval(id)
Supprime l'intervalle donné.
id = setTimeout(expression, millisecondes)
Evalue une expression au bout du délai donné.
clearTimeout(id)
Supprime le délai donné.
focus()
Passe le focus à la fenêtre donnée.
blur()
Ote le focus à la fenêtre donnée courante.
createPopup()
Crée une sous-fenêtre.
print()
Lance l'impression du contenu de la fenêtre.

Voir les méthodes de création et fermeture de fenêtre dans le chapitre: Ouvrir une fenêtre en JavaScript.

Démonstration des méthodes

Cliquez sur les boutons pour voir l'effet des méthodes.

alert('Hello!');

alert( prompt('Taper un texte:') );

onclick="alert(confirm('Confirmation?'))"

onclick="alert(window.length)"

onclick="window.name='hello'; alert(window.name)"

Voir note du tutoriel pour Firefox.
onclick="window.status=document.myform.stat.value"

onclick="window.scrollTo(100,0)"

onclick="window.scrollTo(10,10)"

onclick="window.resizeTo(600,600)"

Voir aussi

Un exemple d'utilisation de setTimeout est fourni avec la démo de lightbox et effet de fondu.

Références

Un début de spécification par le W3C, Window Object, est abandonné car remplacé par la spécification HTML 5 en cours qui inclut une définition de cet objet.
© 2008-2012 Xul.fr