Version complète: sur le forum Webmaster Hub : Variable JS introuvable
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > (X)HTML et CSS
francoisch
bonjour

J'ouvre une fenêtre avec:
CODE
function affichenavig ()
    {
navig=window.open('http://www.maintiendomicile.fr/popups/testnavig.php','windowView0','width=' + width0 + ',height='  + height0 + ',left='  + largeur0 + ',top='  + hauteur0 + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=0,res
zable=0');
    }


Je la ferme avec:
CODE
function closenavig ()
    {
    window.navig.close();
    }


Là où ça commence à ne plus marcher, c'est quand j'essaie de tester l'existence de la variable navig pour fermer la fenêtre d'abord et l'ouvrir ensuite; j'essaie avec:
CODE
if (navig)
    {    
    window.navig.close();
    }


Je ne trouve jamais la variable navig initialisée (j'ai fait des document.write(navig)wink.gif; je ne peux donc pas faire ce dont j'ai besoin, fermer dabord, ouvrir ensuite.

Merci par avance de votre aide.

Francois
cognotte
essaie avec

CODE
var navig = ...


(javascript est pointilleux sur les déclarations)
francoisch
bonjour et merci de ta réponse.

J'ai fait plusieurs tests mais ça ne fonctionne toujours pas; voici ce que j'essaie de faire:
- dans le flux normal de la première fenêtre, j'initialise la variable navig à null pour être certain qu'elle n'existe pas
- quand j'invoque la fonction affichenavig (avec un bouton), je voudrais:
- si la deuxième fenêtre est déjà ouverte, en testant l'existence de la variable navig, fermer cette fenêtre
- ouvrir la deuxième fenêtre

La première fenêtre s'ouvre bien à la première invocation de la fonction affichenavig mais, à la deuxième invocation, quand la variable navig existe (en principe), la deuxième fenêtre n'est pas fermée avant d'être de nouveau ouverte.

Il me semble donc que la variable navig n'existe plus à la deuxième invocation ou bien que je la teste mal.

CODE
var navig = null;
    
function affichenavig ()
    {
if (navig)     {
    window.navig.close();
    }
var navig = window.open    ('http://www.maintiendomicile.fr/popups/testnavig.php','windowView0','width=' + width0 + ',height='  +     height0 + ',left='  + largeur0 + ',top='  + hauteur0 +     ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=0,res
zable=0');
    }


Merci par avance de votre aide.

Francois
cognotte
Autant pour moi je n'avais pas vu que tu utilisais des popups.
Il va te falloir regarder du coté de window.opener a mon avis
francoisch
bonjour

Ca y est, j'ai trouvé, ça marche:
CODE
function affichenavig ()
    {
if (navig)     {
    navig.close();
    }
navig = window.open    ('http://www.maintiendomicile.fr/popups/testnavig.php','windowView0','width=' + width0 + ',height='  +     height0 + ',left='  + largeur0 + ',top='  + hauteur0 +     ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=0,res
zable=0');
    }


Merci de ton aide.

Francois
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.