Questions / Réponses

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 :

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");

Retour à la FAQ