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 :

firefox refuse de fermer une fenètre


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut firefox refuse de fermer une fenètre
    Bonjour à tous

    Pour une fois (c'est rare) c'est avec firefox et pas avec IE que j'ai un problème...

    j'ai créé une page qui contient le script suivant :

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    "<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>test</title>
    <script>
    function fermerfenetre(){
    var obj_window = window.open('', '_self');
    obj_window.opener = window;
    obj_window.focus();
    opener=self;
    self.close("test.html");
    }
    </script>
    </head>
     
    <body style="font-family:Arial, Helvetica, sans-serif; font-size:12px" onload="window.open('index.php','programme_de_gestion','toolbar=0,menubar=1,top=0,left=0,fullscreen=yes'),fermerfenetre()">
    <h2 align="center">Programme de gestion</h2>
    </body>
    </html>
    tout se passe bien dans IE qui m'ouvre une popup en plein écran et ferme la fenètre qui a appelé la popup sans demande de confirmation.

    En revanche dans firefox la popup s'ouvre en grand mais pas en plein écran et l'onglet qui a ouvert la popup reste ouvert en arrière plan.

    si je regarde dans la consolle d'erreur, j'ai le message suivant :

    "Les scripts ne peuvent pas fermer une fenêtre qui n'a pas été ouverte par un script."

    quelqu'un a-t-il une solution pour ces problèmes ?

    Bonne journée à tous

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    la coloration syntaxique du code aurait dû te mettre sur la voie :
    enlève le " devant le head.

    Ensuite :
    - la méthode open() prend 3 arguments.
    - la méthode close() ne prend aucun argument.
    - dans le onload sépare les instructions par un point-virgule (tu as mis une virgule) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    window.open('index.php','programme_de_gestion','toolbar=0,menubar=1,top=0,left=0,fullscreen=yes'),fermerfenetre()
    - ton script est bien compliqué

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    Bonjour et merci de ta réponse.

    En ce qui concerne le " avant le <head> il s'agit d'une erreur lors de mon copier/coller , il ne figure pas sur ma page.

    quant à la séparation des arguments par des virgules, je me suis appuyé sur un tuto trouvé sur le web et qui parle de traitement des popups en javascript
    ou les 3 argument sont séparés par des virgules...

    le fait que mon close() contienne un argument vient également d'un tutorial dont je ne trouve plus l'adresse

    mais qui présentait cette syntaxe...

    J'avais auparavant essayé avec close() sans argument... mais sans plus de réussite.

    Je vais donc faire un essai en séparant mes argument par des ;

    Je ferai un post pour indiquer le résultat.

    Merci encore

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    je viens de tester...

    il semble que ce soit bien la virgule qui doive separer les arguments car la consolle d'erreur me retourne le message suivant :

    Erreur : missing ) after argument list
    Fichier source : http://www.monSite.com/test/guides/test.html
    Ligne : 1, Colonne : 23
    Code source :
    window.open('index.php';'programme_de_gestion';'toolbar=0,menubar=1,top=0,left=0,fullscreen=yes'),fermerfenetre()

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Par défaut
    j'avais aussi essayé beaucoup plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>test</title>
    </head>
    <body style="font-family:Arial, Helvetica, sans-serif; font-size:12px" onload="window.open('index.php','programme_de_gestion','toolbar=0,menubar=1,resizable=yes,top=0,left=0,fullscreen=yes');opener=self;self.close()">
    <h2 align="center">Programme de gestion</h2>
    </body>
    </html>
    Mais cela ne fonctionne pas non plus... du moins pas dans firefox.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bon j'ai fait quelques tests. Visiblement tu ne peux pas fermer l'opener avec un script.

    J'ai toujours cet avertissement :
    Les scripts ne peuvent pas fermer une fenêtre qui n'a pas été ouverte par un script.

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

Discussions similaires

  1. Comment fermer une fenêtre enfant MDI ?
    Par DeveloMagaly dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2005, 13h10
  2. [Delphi 6] Empêcher l'ouverture ou fermer une fenêtre
    Par KrusK dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 08/09/2005, 11h55
  3. Fermer une fenêtre depuis une autre...
    Par nicolb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2005, 10h22
  4. Comment fermer une fenêtre quand la souris et clavier sont inactifs ?
    Par Goldenkiller dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/12/2004, 22h09
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25

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