IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tester si une popup est ouverte si oui en ouvrir une autre


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut Tester si une popup est ouverte si oui en ouvrir une autre
    Bonjour à tous !

    J'ai suivi tous les codes que j'ai pu trouvé sur les forums et autres tuto mais je n'arrive pas à faire fonctionner le mien.

    Voilà ce que je veux faire.
    Il faut que je test si une popup est déjà ouverte.
    Si non, l'ouvrir.
    Si oui en ouvrir une avec un nom différent.
    Il ne peut y avoir que 5 popup ouvertent en tout.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function newwin2(MyUrl){
      i=0;
      while (i<5){
        fen = "NewWinComp"+i;
        if (fen.closed == false){
          i = i + 1;
        }
        else{
          NouvelleWin=window.open (MyUrl,fen,"menubar=no,status=no,location=no,resizable=no,toolbar=no,       break;
        }
      }
    }
    La première fois ça marche. Le code m'ouvre bien une popup NewWinComp0 mais aprés, plus rien... J'ai l'impression que le test ne fonctionne pas en fait...

    Au secours s'il vous plait

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Je confirme, le test ne fonctionne pas (fen est une variable de type String, qui n'a pas d'attribut closed). De plus, il ne faut pas tester sur le nom de la fenetre (qui n'est utilisé par le navigateur que lors des ouvertures pour tester dans quelle fenetre ouvrir) mais sur la variable js retourné par window.open.

    La seule façon de faire ce que tu veux faire est pour moi d'utiliser un array de window. Du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    var windowArray = new Array();
     
     
    function newwin2(MyUrl){ 
      i=0; 
      while (i<5){ 
        if (windowArray[i]&&!windowArray[i].closed){ 
          i = i + 1; 
        } 
        else{ 
          windowArray[i]=window.open (MyUrl,"NewWinComp"+i,"menubar=no,status=no,location=no,resizable=no,toolbar=no,...");
           break; 
        } 
      } 
    }
    A peu de choses près ça devrait marcher de la façon que tu cherches....

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    voici un petit script qui fonctionne sous IE et Firefox (pas testé ailleurs). Cela rejoint l'idée de denisC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function AffPopUp(){
    	var NomF=new Array("fen0","fen1","fen2","fen3","fen4");
    	var fen=new Array();
    	var i=0;
     
    	fen[i]=window.open("",NomF[i]);
    	fen[i].document.write(NomF[i]);
    	fen[i].focus();	
     
    	if (fen[i].closed==false)
    	{
    	   while (fen[i].closed==false && i<4)
    	   {
    	       i++;	
    	   	   fen[i]=window.open("",NomF[i]);
    	   	   fen[i].document.write(NomF[i]);
    		   fen[i].focus();	
    	   }
    	}
     
    }

  4. #4
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    Après retouche, mon script devrait ressembler plutôt à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function newwin2(MyUrl){
      var NomF=new Array("NewWinComp0","NewWinComp1","NewWinComp2","NewWinComp3","NewWinComp4"); 
      var fen=new Array(); 
      var i=0; 
     
      fen[i]=window.open(MyUrl,NomF[i],'menubar=no,status=no,location=no,resizable=no,toolbar=no,scrollbars=yes');
      while (i<5){ 
        if (fen[i].closed!=false){ 
          fen[i]=window.open(MyUrl,NomF[i],"menubar=no,status=no,location=no,resizable=no,toolbar=no,scrollbars=yes"); 
          fen[i].document.write(NomF[i]); 
          fen[i].focus();    
          i++;
          break;
        }
        else{
          i++;    
        } 
      } 
    }
    Seulement à la première exécution je me retrouve avec une erreur comme quoi closed n'est pas un objet ou à la valeur nulle mais la fenêtre s'ouvre quand mm.
    Par contre après, plus aucune fenêtre ne s'ouvre. Juste le message d'erreur...

  5. #5
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    En plus, rien que le fait d'affecter la fenêtre dans le tableau ça l'ouvre... Et moi je veux pas que ça l'ouvre puisque je dois faire un test avant de l'ouvrir...
    Y a pas moyen de stocker le window.open sans qu'il s'execute ?

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    utilises mon script :p

  7. #7
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par denisC
    utilises mon script :p
    J'ai essayé... J'ai fait un copier coller mais ca marche la première fois qu'on click sur le lien mais ap plus rien...


    En plus je ne comprends pas comment il êut fonctionner alors que tu ne mets rien dans ton tableau au départ donc tu passe forcément dans la boucle quoi qu'il arrive...

  8. #8
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    Nan c'est bon ça marche!!!

    Merci DenisC mon héros !!!

  9. #9
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    encore une victoire de canard!!!!

    pense au tag (en bas du dernier post de ce thread)

  10. #10
    Membre du Club Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Points : 59
    Points
    59
    Par défaut
    C'est déjà fait k'S tu crois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Tester si un classeur est ouvert. Si non, l'ouvrir.
    Par Phouky dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 13/05/2014, 09h19
  2. comment detecter si une popup est ouverte
    Par Jacobian dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/10/2008, 15h54
  3. [POO] vérifier qu'une popup est ouverte ?
    Par titoumimi dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/03/2008, 16h35
  4. Tester si une page est ouverte
    Par Osmani dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/11/2005, 13h47
  5. POPUP : tester si la popup est déjà ouverte...
    Par mickeliette dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/05/2005, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo