Écrit par Neil Deakin
,
mise à jour par les contributeurs à MDC
.
Traduit par Julien Appert (16/05/2004), mise à jour par Alain B. (04/04/2007) .
Page originale :
http://developer.mozilla.org/en/docs/XUL_Tutorial/Features_of_a_Window
Attention : Ce tutoriel est ancien et n'est pas mis à jour. Bien que beaucoup d'informations soient encore valables pour les dernières versions de gecko, beaucoup sont aussi obsolètes. Il est préférable d'aller consulter cette page sur la version française de ce tutoriel sur developer.mozilla.org.
Nous avons déjà vu quelques caractéristiques de fenêtres. Nous allons en aborder d'autres dans cette section.
Vous pouvez créer une seconde fenêtre pour votre application de la même manière
que vous avez créé la première. Il suffit de créer un second fichier XUL contenant
le code de la nouvelle fenêtre. Comme en HTML, vous pouvez utiliser la fonction
window.open()
pour ouvrir la seconde fenêtre. Cette fonction retournera une référence
à la fenêtre nouvellement ouverte. Vous pouvez utiliser cette référence pour appeler
des fonctions de l'autre fenêtre.
La fonction open
prend trois arguments. Le premier est l'URL du fichier que vous
souhaitez ouvrir. Le deuxième est le nom interne de la fenêtre. Le troisième est une
liste de drapeaux de paramètres d'affichage. Le drapeau chrome
est important pour ouvrir la fenêtre
comme un fichier chrome. Si vous n'ajoutez pas le drapeau chrome
, le fichier sera
ouvert dans une nouvelle fenêtre du navigateur.
Par exemple :
window.open("chrome://findfile/content/findfile.xul","findfile","chrome");
Vous aurez noté que lorsque des éléments sont ajoutés à une fenêtre, la largeur
de la fenêtre s'étend pour s'adapter aux nouveaux éléments. La fenêtre n'est en
fait qu'une boîte flexible et qui prend par défaut une orientation verticale.
Vous pouvez également spécifier la largeur et la hauteur directement dans la
balise window
.
Cela, bien sûr, oblige la fenêtre à prendre une taille spécifique. Si vous ôtez
ces spécifications, la taille sera déterminée par les élements qui la constituent.
<window
id="findfile-window"
title="Recherche de fichiers"
width="400"
height="450"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
Dans cet exemple, la fenêtre sera ouverte avec une largeur de 400 pixels et une hauteur de 450 pixels. Même s'il n'y a pas assez d'éléments pour lui faire adopter cette taille, la fenêtre s'ouvrira toujours à cette taille et il y aura un espace vierge dans l'espace restant. S'il y a trop d'élements, la fenêtre n'adaptera pas ses dimensions pour en tenir compte. L'utilisateur devra alors redimensionner la boîte de dialogue. Vous devez faire attention, lorsque vous spécifiez une largeur et une hauteur, à ce que la fenêtre ne soit ni trop petite, ni trop grande. Vous devez considérer les thèmes graphiques ou la langue propres à l'utilisateur.
Notez que vous devez spécifier à la fois la largeur et la hauteur. Si vous ne spécifiez qu'une des deux valeurs, l'autre sera mise à 0. Pour que la fenêtre détermine sa taille automatiquement, omettez les toutes les deux.
La largeur et la hauteur déterminent seulement la taille initiale de la fenêtre. L'utilisateur peut toujours redimensionner la fenêtre, à condition que celle-ci soit redimensionnable.
Les drapeaux ci-après peuvent être utilisés comme troisième argument de la
fonction window.open
. Votre système d'exploitation peut ne pas les supporter tous.
Vous pouvez également utiliser un des drapeaux pré-existants, que vous devriez
trouver dans une référence JavaScript. Vous pouvez désactiver une propriété en
la réglant sur no, par exemple dialog=no
.
alwaysLowered
alwaysRaised
centerscreen
dependent
dialog
modal
resizable
Voir également la référence window.open().
Nous allons voir ensuite comment ouvrir des boîtes de dialogue secondaires.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.