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 :

Fermer automatiquement une popup après exécution de son script sous IE


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 28
    Points
    28
    Par défaut Fermer automatiquement une popup après exécution de son script sous IE
    Salut à tous!

    J'ai un petit problème qui me prend la tête depuis hier. Depuis une page principale j'exécute la methode JS open() pour ouvrir une fenêtre qui me permet d'exécuter un code php me permettant de faire un export de données vers excel. Tout marche très bien; sauf que sur firefox la popup ouverte se ferme automatiquement après l'exécution de son script sans même rajouter la methode JS close(), mais sur IE je dois à chaque fois la fermer manuellement et j'ai beau essayé de rajouter window.close(), close(), opener.close().. autant dans le code de la page principale que dans le code de la popup, ça marche pas!

    Env de Dev:
    * MS Windows XP Professionnel
    * IE 6.0
    * FireFox: 3.0.10

  2. #2
    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
    Bonjour,
    si dans ta pop la dernière ligne de ta fonction Javascript estil n'y a pas de raison qu'elle ne se ferme pas

    On pourrait voir le code (d'appel de la pop, puis de la fermeture de celle-ci) ?

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    le code de ma page principale est trop long. Voici la partie en JS qui nous intéresse (cette fonction est appelée par un onClick d'un bouton):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function exporte_excel(){
            var cas=document.forms["close_case_since_form"].elements[0].value;
    	var template=document.forms["template_choice_form"].elements[0].value;
    	var tab_values=getSelectValue();
    	var string2=tab_values[1];
    	var string1=tab_values[2];
    
    	var adress="./src/extractReportExcel.php?nombre="+cas+"&mail="+endUser+"&id="+id+"&template="+template+"&string1="+string2+"&string2="+string1;
    
    	var nouvelleFenetre = open(adress, "secondeFenetre","scrollbars,resizable,width=500,height=500");
    }
    Le code de ma popup est un script php qui me permet de récupérer des données et de les exporter en excel:

    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
    <?php
    
    	header('Pragma: public');
    	header('Expires: 0'); 
    	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    	header('Content-Type: application/force-download'); 
    	header('Content-Type: application/octet-stream'); 
    	header('Content-Type: application/download'); 
    	header('Content-Transfer-Encoding: binary'); 
    	header('Content-Disposition: attachment; filename=historic.xls;');
      
      require_once '../lib/lib_mii.php';
      require_once '../conf/cfg_MII.php';
      
      $variable=new User_Mii($dblinkTrackMII, $dblinkMII);	
      $string_option1 = $_GET['string2'];
      $string_option2 = $_GET['string1'];
      $tab_appli[0]='rien';
      $tab_appli[1]='rien';
      $template = $_GET['template'];
      $nombre=$_GET['nombre'];
      $mail=$_GET['mail'];
      $id=$_GET['id'];
      switch ($nombre)
    	{case 'Open':
    		{
    		     $variable->getReportCase($id,$dept="",$mail, $tab_appli,$string_option2, $string_option1,$template);
                         echo '<body onLoad="window.close()"></body>';
    		     break;
                    }
              
              default:
                   {
                         $date=get_date($nombre);
                         $variable->getReportCase($id,$dept="",$mail, $tab_appli,$string_option1,$string_option2,$template,$date);
                         echo '<body onLoad="window.close()"></body>';
                         break;
                   }
            }
    ?>

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    J'ai l'impression en fait que la récupération des données en php bloque l'exécution de tout code qui la suit.

  5. #5
    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
    OK, mais ce qu'il faudrait, c'est le code généré de ta pop, avec les éventuels .js en include.
    Car, comme ta syntaxe semble correcte, c'est peut être qu'il y a une erreur JS quelque part avant la fermeture ...

    A+

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/05/2008, 11h34
  2. [C#] Fermer automatiquement une fenêtre après X secondes
    Par pi100 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/06/2007, 09h35
  3. Réponses: 5
    Dernier message: 16/06/2006, 12h18
  4. Réponses: 3
    Dernier message: 27/04/2006, 14h29
  5. Comment fermer une popup après un certains temps ?
    Par magic8392 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/10/2005, 12h06

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