IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > La gestion des fenêtres et des frames
        Comment ouvrir une pop-up ?
        Comment mettre à jour ou exécuter une fonction dans une fenêtre à partir d'une pop-up ?
        Comment fermer une fenêtre ?
        Comment ouvrir une fenêtre pop-up qui restera au dessus des autres fenêtres ?
        Comment ouvrir une fenêtre avec le contenu d'un répertoire ?
        Comment centrer une pop-up ?
        Comment savoir si une fenêtre est ouverte ou pas ?
        Comment redimensionner une fenêtre ?
        Comment réduire une fenêtre dans la barre des tâches par le code ?
        Comment supprimer la toolbar de la page active ?
        Comment ouvrir une fenêtre en plein écran ?
        Comment fermer une fenêtre et recharger la page mère ?
        Comment mettre à jour une frame à partir d'une autre frame ?
        Comment changer le titre de la page au changement d'une frame ?




Comment mettre à jour ou exécuter une fonction dans une fenêtre à partir d'une pop-up ?
auteurs : simone.51, Bovino
Certaines fois, il est utile de modifier ou d'exécuter des fonctions depuis une pop-up ouverte depuis une fenêtre mère.

opener.location.replace('page.html');
Si vous voulez recharger la page mère :

opener.location.reload();
Pour exécuter une méthode utilisateur sur la fenêtre mère :

opener.maFonction();
Attention : lorsque vous échangez des données entre une popup et sa page mère, il est important de vérifier l'existence de la page mère. En effet, rien ne vous assure que l'utilisateur n'a pas navigué ni fermé cette dernière !

if(self.opener){
	// instructions
}

Comment fermer une fenêtre ?
auteurs : BrYs, denisC
Pour un pop-up :

<a href="#" onclick="window.close();">Fermer</a>
Pour un fenêtre classique (pour éviter la boîte de dialogue) :


<a href="#" onclick="opener=self;self.close();">fermer</a>
Remarque : Dans Firefox, il est impossible pour un script de fermer une fenêtre ouverte par l'utilisateur (par opposition à une fenêtre ouverte par un script).


Comment ouvrir une fenêtre pop-up qui restera au dessus des autres fenêtres ?
auteur : simone.51
Dans certains cas, on a besoin d'afficher une fenêtre modale, c'est-à-dire une fenêtre que l'internaute est obligé de fermer s'il veut continuer sa navigation.
Par conséquent, tant que l'internaute n'aura pas fermé cette fenêtre, elle restera par dessus toutes les autres.

window.showModalDialog("page.html",null,
"dialogWidth:430px;dialogHeight:280px;center:1;scroll:0;help:0;status:0");
Les deux premiers paramètres correspondent aux mêmes paramètres que pour ouvrir une pop-up.
Par contre, il y a du changement dans les caractéristiques mais cela reste sensiblement équivalent.
Cependant, il ne faut pas s'y mélanger les pinceaux sinon, ça ne marche pas!!!



Comment ouvrir une fenêtre avec le contenu d'un répertoire ?
auteur : simone.51
Pour ouvrir une fenêtre affichant le contenu d'un répertoire, il suffit de faire :


<script type="text/javascript">
     url="file:\\c:/";
     window.open(url);
</script>
Cette astuce ne fonctionne qu'avec IE6 et précédents !


Comment centrer une pop-up ?
auteur : simone.51
Voici le code pour une pop-up :
<script type="text/javascript">
 function openwindows()
{
    window.open("ipage.html", "",
"width=460,height=150,scrollbars=0,left=" +
((screen.width - 460)/2) + ",top=" + ((screen.height - 150)/2) );
}
</script>


Et voici le code pour une fenêtre modale (valable uniquement pour IE) :

window.showModalDialog("page.html",null,
"dialogWidth:460px;dialogHeight:150px;center:1;scroll:0;help:0;status:0");

Comment savoir si une fenêtre est ouverte ou pas ?
auteur : simone.51
<script type="text/javascript">
    function TestFenetre() {
        if(nom_Fenetre.closed == false) {
            // la fenêtre est ouverte
        }
        else{
            // la fenêtre est fermée
        }
    }
</script> 

Comment redimensionner une fenêtre ?
auteur : simone.51
window.resizeTo(Largeur, Hauteur);

Comment réduire une fenêtre dans la barre des tâches par le code ?
auteurs : SpaceFrog, simone.51
Mauvaise nouvelle : c'est impossible en JavaScript Bonne nouvelle on peut facilement le simuler comme suit
<script language="javascript">
    var show=1;
    function minimize(){
        moveBy(4000,4000);
        show=0;
    }
    function reshow(){
        if(show==0){
            moveBy(-4000,-4000);
            show=1;
        }
    }
</script> 
il suffit de déplacer la fenêtre hors du champ visible Exemple :

<body onfocus="reshow()">
<input type="button" value="coucou" onclick="minimize()" />
</body>

Comment supprimer la toolbar de la page active ?
auteur : SpaceFrog
L'astuce consiste à passer par un pop-up pour lequel on peut définir les paramètres:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>No tool bar</title>
<script type="text/javascript">
function notoolbar(){
    if(window.name!='nouveau'){
        window.open(window.top.location.href,'nouveau',
'width='+(parseInt(screen.width)-10)+',height='+screen.height+
',top=0,left=0,toolbar=no') ;
        window.opener=self;
        self.close() ;
    }
}
</script>
</head>
<body onload="notoolbar()">hello !!! </body>
</html>
Attention ce code ne fonctionne pas sous NS ni FF.


Comment ouvrir une fenêtre en plein écran ?
auteur : simone.51
Pour IE, il existe un attribut lors de l'ouverture des pop-ups qui peut préciser que la fenêtre doit être ouverte en plein écran : fullscreen=1.

Pour les autres navigateurs, ce code peut faire l'affaire:

fen = window.open('fenetre1.html','',
  'toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1,
  copyhistory=0, menuBar=0,fullscreen=0');
fen.moveTo(0,0);
fen.resizeTo(screen.width,screen.height);

Comment mettre à jour une frame à partir d'une autre frame ?
auteur : Jérôme
Pour recharger le même document qui se trouve actuellement dans un cadre, on utilise la méthode reload() de l'objet Location.
recharger un cadre
cadre.location.reload();
Lorsqu'il s'agit du document dans lequel se trouve le JavaScript, cadre est à remplacer par le mot-clé window ou bien self. Lorsque l'on se trouve dans un jeu de cadres (frameset), pour mettre à jour le cadre A (cadreA) depuis le cadre B (cadreB), on va écrire :
recharger un cadre dans un frameset

parent.frames['cadreA'].location.reload();
Si l'on veut changer le document et non faire un simple reload, on va utiliser la méthode replace plutôt que reload.
modifier l'emplacement un cadre dans un frameset

parent.frames['cadreA'].location.replace('autrepage.htm');

Comment changer le titre de la page au changement d'une frame ?
auteur : BrYs
Il faut pour cela rajouter un événement onclick dans le lien ayant fait le changement dans la frame :
Changer de titre lors du rechargement d'une frame

<a href="lien.htm" target="maframe" onclick="top.document.title = 'nouveau titre'">monlien</a>


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2004 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.