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 :

détecter si une fenètre est ouverte et si oui la fermer


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut détecter si une fenètre est ouverte et si oui la fermer
    Bonsoir,

    La question est dans l'intitulé

    A l'ouverture d'une page, détecter si la page
    pop_up.html est ouverte et si oui, la fermer.

    Merci à vous

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    voici une solution.
    J'utilise le nom donné à la fenêtre.
    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
    22
    23
    24
    25
    26
    27
    28
    29
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en" />
    <meta name="GENERATOR" content="PHPEclipse 1.0" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>test</title>
    <script language="JavaScript" type="text/javascript">
      function closePopUp(target){
      	var popup = window.open("", target, "");
    	if (popup && !popup.closed){
    		popup.close();
    	}
      }
     
     
      function openPopUp(target){
      	window.open('popup.html',target,'width=400,height=400');
      }
    </script>
     
    </head>
    <body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
     
      <a href="javascript:void(0);" onclick="openPopUp('test');">open</a>
      <br/>
      <a href="javascript:void(0);" onclick="closePopUp('test');">close</a> 
     
    </body>
    </html>

  3. #3
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    euuuh
    une autre solution...
    je ne sais pas si c'est mieux, mais bon...
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
     
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en" />
    <meta name="GENERATOR" content="PHPEclipse 1.0" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>test</title>
    <script language="JavaScript" type="text/javascript">
     
    function PopUp(n){
     
    	this.name = n;
    	this.popup = null;
     
    	this.show = function show(){
    		alert(this.name);
    		alert(this.popup);
    	}
     
    	this.open = function openPopUp(){
      		this.popup = window.open('popup.html',this.name,'width=400,height=400');
      	}
     
    	this.close = function closePopUp(){
      		if (this.popup && !this.popup.closed){
    			this.popup.close();
    		}
      	}
    }
     
    p = new PopUp("test");
     
     
    </script>
     
    </head>
    <body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
     
      <a href="javascript:void(0);" onclick="p.open();">open</a>
      <br/>
      <a href="javascript:void(0);" onclick="p.close();">close</a> 
      <br/>
      <a href="javascript:void(0);" onclick="p.show();">show</a> 
     
    </body>
    </html>

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Salut julien.63,

    Merci pour les deux codes mais je ne sais pas
    comment les décomposer pour les intégrer au mien.

    Mon code :
    Voila, jouvre une fenètre avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($nbvisites > $nbvisitesb)
        {
          // Ouverture pop_up
          echo"<script>window.open('../pop_up.html','Newsletter','top=240,left=380,resizable=no,width=4*00,height=135');</script>"; 
        }
    La fenètre pop_up.html, ne fait qu'afficher un texte

    Ce que je voudrais faire, c'est que pop_up.html ne s'affiche
    que 15 secondes et se ferme automatiquement.

    Si cela t'inspire !

  5. #5
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut
    tu peux mettre ceci dans la balise head de ton popup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="javascript">eval(setTimeout('window.close()',15000));</script>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonsoir julien.63,

    GENIAL, tout simplement Géniallllllllllllllllllllllllllllll

    Super merci, tu est le seul a ne m'avoir pas imposé
    un truc mais a comprendre ce que je voulais faire.

    Non seulement ça tourne mais avec seulement
    une ligne de code.

    Encore merci et a bientôt sur le sitre.

    @ +

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu arrives à autofermer une popup sans message de confirmation ?

  8. #8
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    tu arrives à autofermer une popup sans message de confirmation ?
    oui, enfin j'ai le test avec le code que j'ai posté précédemment et je n'ai pas eu de problème...
    je viens de refaire le test à l'instant et je confirme que la fenêtre se ferme sans message.
    Je suis sous firefox.

    A quel message t'attendais-tu?

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    en principe le navigateur ne permet pas d'auto fermer une popup, seuke la page mère à le droit de fermer sa fille ...

    tu devrais avoir un message du genre un script essaye de fermer cette fenetre ...

  10. #10
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    oui, peut être mais là en fait c'est l'instruction window.close qui s'exécute après un temps donné.
    C'est comme si quelqu'un clique sur un bouton qui exécute la même instruction (ce qu'on trouve souvent dans les popup).

    Fait le test, et tu verras (enfin je pense) qu'il n'y a pas de message. non?

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par julien.63 Voir le message
    je viens de refaire le test à l'instant et je confirme que la fenêtre se ferme sans message.
    Je suis sous firefox.
    Sous IE (6) aussi

    Grace au setTimeout(), visiblement (pas besoin du eval(), d'ailleurs) !


  12. #12
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    pas besoin du eval(), d'ailleurs
    oui, c'est vrai. Je ne sais pas pourquoi j'ai mis ça...

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ebzz rassures moi ... c'est bien donc le setInterval qui floue le navigateur sur le fait que l'instruction ne provient pas de l'opener ???

  14. #14
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Ebzz rassures moi ... c'est bien donc le setInterval qui floue le navigateur sur le fait que l'instruction ne provient pas de l'opener ???
    Le setTimeout(), oui visiblement !
    (je pensais au début que c'était eval(), mais non)

    On en découvre tous les jours ...

    EDIT : mais c'est vrai qu'une justification technique serait la bienvenue sur ce coup là ...

    A+

  15. #15
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    certes, je ne suis pas expert en javascript, mais je ne vois pas où on floue le navigateur. Le code ci-dessous vous parait-il régulier?
    Si oui, pour c'est la même chose sauf que l'instruction n'est pas appelé de la même manière. Mais là aussi, ce n'est pas l'opener qui appelle ce code c'est la page elle même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <title>pop up</title>
    <script language="javascript">
    function closePopup(){
    	window.close();
    }
    </script>
    </head>
    <body>
    <a href="" onclick="closePopup();">close</a>
     </body>
    </html>
    je comprendrais qu'il puisse y avoir un message si une troisième pas (qui n'est ni l'opener, ni la page elle même) essaye de fermer le popup...
    mais encore une fois, peut être y'a t-il des fonctionnements que j'ignore.

  16. #16
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Heu ... hum : non il n'y a pas de mystère.

    Le message n'est censé survenir que pour les tentatives de fermeture via JS d'une fenêtre non ouverte via JS !

    Dans le cas d'une pop : no prob

    Mais en mettant le même script dans la fenêtre appelante (appelée via barre d'adresse du nav) ==> message (normal, quoi)

    [/petit retard à l'allumage]

    A+

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    rhhoooo!
    le gros pétard mouillé ...

    Desolé j'avais escamoté le coté ouvert avec js

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

Discussions similaires

  1. Comment savoir si une fenêtre est ouverte ?
    Par darksteph dans le forum Qt
    Réponses: 5
    Dernier message: 03/05/2010, 10h52
  2. Détecter si une connection est ouverte !
    Par Sancha dans le forum C#
    Réponses: 5
    Dernier message: 16/03/2010, 11h08
  3. comment détecter qu'une fenetre est ouverte?
    Par canary dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 15/05/2008, 14h22
  4. Savoir si une fenêtre est ouverte ou pas
    Par zizoux5 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2007, 18h26
  5. Détecter si une fenêtre est déjà ouverte et aller dedans
    Par thierry198 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/11/2005, 17h53

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