Applet TriButton Est-il possible en utilisant un TriButton de faire apparaitre une petite fenêtre indépendante dans laquelle s'affiche une autre page (en d'autres termes : une pop-up window) ? |
Oui et non. L'applet TriButton ne gère que l'ouverture d'une page HTML dans
une frame quelconque.
3 façons de s'en sortir :
1) Ouvrir une fenêtre de taille normale
C'est la solution la plus simple. Elle consiste à affecter au paramètre
"frame" de l'applet TriButton la valeur "new".
Par exemple :
<applet code="TriButton.class" ...>
<param name="URL" value="www.yahoo.com">
<param name="FRAME" value="new">
...
</applet>
L'inconvénient est qu'on ne gère pas la taille et les caractéristiques (barre de menus, barre d'outils...) de la nouvelle fenêtre.
2) Faire en sorte que le TriButton appelle une fonction Javascript
Pour cela, il faut passer par des classes Java fournies
par Netscape, mais qui ne fonctionnent pas sur Microsoft Internet Explorer. Forcément
!
Dommage, c'était la solution la plus élégante...
3) Une solution intermédiaire (on bidouille !)
Cette solution présente l'avantage de fonctionner sur Netscape Navigator et
Microsoft Internet Explorer :
a) Définissez une page 1, qui comporte le TriButton. Paramétrez le TriButton comme suit :
<applet code="TriButton.class" ...>
<param name="URL" value="page2.htm">
<param name="FRAME" value="new">
...
</applet>On va donc charger une page2.htm en plein écran.
b) La page 2 est une page "bidon". Elle doit ressembler à ceci :
<html> <head> <title>Exemple</title> <script language="JavaScript"> <!-- function OuvrirFenetre() { win2=window.open("page3.htm", "newWin", "width=400,height=240"); window.close(); } // --> </script> </head> <body onLoad="OuvrirFenetre();"></body> </html>
Ainsi, au chargement de cette page (onLoad), on déclenche un appel à la fonction OuvrirFenetre, qui elle-même fait 2 choses : ouvrir la nouvelle fenêtre avec la page 3 finale, ceci avec des dimensions précises, puis fermer la fenêtre contenant la page 2.
A savoir aussi : la méthode open en Javascript prend 3 paramètres :
- le nom de la page à charger dans la nouvelle fenêtre (ici page3.htm)
- le nom de la fenêtre (ici newWin), pour utilisation avec le tag TARGET
La nouvelle fenêtre s'appelle dans l'exemple newWin, et on pourra y charger des documents par <A HREF="xyz.htm" TARGET="newWin">Un lien quelconque</A>
- les caractéristiques de la nouvelle fenêtre, séparées par des virgules. Ce sont :
width=www la largeur de la fenêtre height=hhh la hauteur de la fenêtre toolbar=yes | no Afficher ou non la barre d'outils location=yes | no Afficher ou non la barre qui permet de taper une URL directories=yes | no Afficher ou non les boutons supplémentaires (What's new, what's cool...) de Netscape status=yes | no Afficher ou non la barre d'état, en bas de l'écran menubar=yes | no Afficher ou non la barre de menu scrollbars=yes | no Afficher ou non les barres de défilement resizable=yes | no Permettre ou non à l'utilisateur de dimensionner la fenêtre
Exemple, pour avoir une fenêtre de 300x200 sans aucun élément supplémentaire : win2=window.open("page3.htm", "newWin", "width=400,height=240,toolbar=no,location=no, directories=no,status=no,menubar=no,scrollbars=no");