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 :

window auto close


Sujet :

JavaScript

  1. #1
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut window auto close
    Salut,

    mon probleme est le suivant, sur une page pour forcer le t�l�chargement d'un fichier, txt ou pdf ou autre, j'utilise une page annexe... par contre que j'accepte ou pas le t�l�chargement du fichier, la page de se ferme pas, mon script est le 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
    23
    <?php
     
     $fichier = $_GET['file']; 
     $chemin = 'upload/' . $fichier;
     
     if (file_exists($chemin))
      {
         header('Content-disposition: attachment; filename="' . $fichier . '"');
         header('Content-Type: application/force-download');
         header('Content-Transfer-Encoding: binary');
         header('Content-Length: '. filesize($chemin));
         header('Pragma: no-cache');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Expires: 0');
         readfile($chemin);
         echo "<script language='javascript'>self.close();</script>";
     }
     else
     {
         $erreurFichier = 'le fichier "' . $fichier . '" n\'existe pas. Veuillez-nous excusez pour le désagrément.';
     }
     
    ?>
    toute ces solutions ne marchent pas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    windows.close();
    self.close();
    setTimeout("self.close();",1000)
    auriez vous une solution?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 10
    Par d�faut
    En Javascript c'est:
    window.close()
    et non windows.close() !!!

    @+

  3. #3
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    faute de frape dans mon post, window.close(); ne marche pas

    ps : je la lance avec ca:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    onClick=\"window.open('./dl.php?file=$fichier','Erreur','toolbar=0,
     location=0, directories=0, status=0, scrollbars=0, resizable=0, 
    copyhistory=0, menuBar=0, width=240, height=97');return(false)\"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 10
    Par d�faut
    Est ce que le debuggeur javascript t'annonce une erreur ou pas ??

  5. #5
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    non pas d'erreur sinon j'aurais su d'ou ca viens!

    ps: par contre window.close(); marche sous IE mais pas sous FF!

  6. #6
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    attibues ton window open � une variable dans la page m�re ...
    puis depuis la page fille appelle un truc du genre:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    self.opener.mavariable.close()
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    idem, page mere :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <script language="javascript">
     
    var mavariable = "onClick=\"window.open('./dl.php?file=$fichier','Erreur','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=240, height=97');";
     
    </script>
    page g�n�r�e :

    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
    <?php
     
     $fichier = $_GET['file']; 
     $chemin = 'upload/' . $fichier;
     
     if (file_exists($chemin))
      {
         header('Content-disposition: attachment; filename="' . $fichier . '"');
         header('Content-Type: application/force-download');
         header('Content-Transfer-Encoding: binary');
         header('Content-Length: '. filesize($chemin));
         header('Pragma: no-cache');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Expires: 0');
         readfile($chemin);
         echo "<script language='javascript'>self.opener.mavariable.close();</script>";
     }
     else
     {
         $erreurFichier = 'le fichier "' . $fichier . '" n\'existe pas. Veuillez-nous excusez pour le désagrément.';
     }
     
    ?>

  8. #8
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    j'ai aussi test� le

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    echo "<html><body language='javascript' onbeforeunload='window.close();'><script language='javascript'>self.opener.mavariable.close();</script></body></html>";
    et le

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    echo "<html><body><script language='javascript'>self.opener.mavariable.close();</script></body></html>";
    idem :/

  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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut


    non quand je dis attribuer le window open � une variable :


    page m�re
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var mypopup 
    function launchpop(){
     mypop=window.open('......')
    }
     
    .../...
     
    onclick="launchpop()"
    et dans la fille
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    self.opener.mypopup.close()
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  10. #10
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    j'ai essayer de changer un peu parce que fais des requettes en php sur une bdd qui fait une boucle, soit je cr�er x fois la meme fonction, soit je lui rentre un parametre (meilleur choix ^^) donc voici mes script (qui ne marchent pas encore lol)

    dans le head:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script language='javascript'>
     
    var mypop; 
     
    function launchpop(lefichier){
     mypop=window.open('./dl.php?file='+lefichier,'Erreur','toolbar=0, location=0,
     directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, 
    menuBar=0, width=240, height=97');
    }
     
    </script>
    et apres un

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	echo "<div id='list_msg'><form name='supprime' action='delete.php'
     method='post' style='display:inline;'>
    <input border=0 src='./images/delete.gif' type='image'
     Value='submit'>&nbsp;Message par $nom le $date&nbsp;
    <input type='hidden' name='id_post' value='$id'/></form>
    <hr>$message<br/><br/><hr>
    	<img src='./images/file.gif' alt='#'/><a href='#' 
    onClick=\"launchpop($fichier);\">Télécharge Fichier join</a></div>
    	<img id='sep' src='./images/separateur.gif' alt='separateur'/>";
    ici la page ne s'ouvre meme pas!

  11. #11
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    essaye d�ja de le faire avec des fichiers en dur juste en html javascript ou en mettant juste un param�tre fixes dasn le window.open ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  12. #12
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    oki, j'ai vite tapot� ca et ca marche :

    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>
    <script language='javascript'>
    var mypop; 
    function launchpop(lefichier){
     mypop=window.open('./dl2.php?file='+lefichier,'width=240, height=97');
    }
    </script>
    </head>
    <body>
    <a href="#" Onclick="launchpop('world%20map.gif');"> CLICK ME </a>
    </body>
    </html>
    je l'ai retranscrit sur ma page php et ca marche aussi, j'ai mis

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    self.opener.mypop.close()
    dans ma page fille est ... ca marche pas ^^

    et avec le code bidon d'en haut, sur dl2.php quand le met ca il ne m'affiche rien du tout
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    <body>
    <?php
     echo "totoqsd";
     $fichier = $_GET['file']; 
     echo $fichier;
     echo "toto";
    ?>
    </body>
    </html>
    mais si je fais ca, la fenetre se ferme bien (logique)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <body>
    <?php
     echo "totoqsd";
     $fichier = $_GET['file']; 
     echo $fichier;
     echo "toto";
    ?>
    <script language="javascript">
    self.opener.mypop.close();
    </script>
    </body>
    </html>
    et si avec mon script original je fais ca:

    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
    <?php
     
     $fichier = $_GET['file']; 
     $chemin = 'upload/' . $fichier;
     
     if (file_exists($chemin))
      {
         header('Content-disposition: attachment; filename="' . $fichier . '"');
         header('Content-Type: application/force-download');
         header('Content-Transfer-Encoding: binary');
         header('Content-Length: '. filesize($chemin));
         header('Pragma: no-cache');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Expires: 0');
         readfile($chemin);     
     }
     else
     {
         $erreurFichier = 'le fichier "' . $fichier . '" n\'existe pas. Veuillez-nous excusez pour le désagrément.';
     }
     
    ?>
    <html>
    <body>
    <script language="javascript">
    setTimeout("self.opener.mypop.close();",1000);
    </script>
    </body>
    </html>
    ca marche pas non plus, cest parce que la page modifie le header ou quoi? oO

  13. #13
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    cest le meme principe que sur telecharger.com, quand tu t�l�charges un fichiers ta une toute petite fenetre qui s'ouvre en meme temps, celle ci servant a t�l�charger le fichier, j'ai vu que sur leur site il ne la supprime pas non plus, ca doit pas etre possible :s

    et autre probleme je ne sais pas d'ou ca viens mais sous IE quand je clic sur le lien le temps avant que le t�l�chargement se lance est assez long genre 3 secondes alors que normalement ca vient tout de suite !

  14. #14
    Membre �clair� Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Par d�faut
    je pourais pas faire ca? (dans le principe parce que mon script marche pas)

    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
    <script language="javascript">
    window.onbeforeunload = "
    <?php
     
     $fichier = $_GET['file']; 
     $chemin = 'upload/' . $fichier;
     
     if (file_exists($chemin))
      {
         header('Content-disposition: attachment; filename="' . $fichier . '"');
         header('Content-Type: application/force-download');
         header('Content-Transfer-Encoding: binary');
         header('Content-Length: '. filesize($chemin));
         header('Pragma: no-cache');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Expires: 0');
         readfile($chemin);         
     }
     else
     {
         $erreurFichier = 'le fichier "' . $fichier . '" n\'existe pas. Veuillez-nous excusez pour le désagrément.';
     }
     
    ?>
    "
    self.opener.mypop.close();
    </script>

Discussions similaires

  1. Auto Close = True or False ?
    Par zinzineti dans le forum Administration
    R�ponses: 3
    Dernier message: 07/10/2010, 10h10
  2. Probl�me avec window.close()
    Par Didje dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 13/12/2005, 17h32
  3. window.close();
    Par 12_darte_12 dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 18/10/2005, 14h37
  4. apr�s un window.close() la page se r�ouvre toute seule???
    Par linux dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 31/08/2005, 17h29
  5. On Windows Closing ???
    Par BainE dans le forum MFC
    R�ponses: 4
    Dernier message: 29/08/2005, 12h38

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