Capture l'évènement close du navigateur

cs_lawraC Messages postés 90 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 3 février 2011 - 3 mai 2007 à 16:27
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 30 mai 2008 à 15:34
Bonjour,

pour des raisons propres à mon application, j'ai besoin que les utilisateurs ne la quittent pas en cliquant sur X dans le navigateur mais par un bouton QUITTER qui figure dans la page.
J'ai bien essayé de masquer le X en ouvrant l'appli dans une nouvelle fenêtre, mais je n'y arrive pas. Et ça fait tellement longtemps que j'ai pas fait ça que je n'arrive pas à me rappeller si c'est normal que je n'y arrive pas ou si je n'utilise pas la bonne commande.

Dans le cas où ce serait impossible, je voudrais intercepter le click sur X pour pouvoir "mimer" le bouton QUITTER.
J'ai utilisé le OnUnload, le problème c'est que l'évènement ne concerne pas que la fermeture de la fenêtre mais également la redirection vers une autre page quand on click sur un lien.

Comment faire ?

Lawra C.

28 réponses

depitsho Messages postés 2 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 22 mai 2007
20 mai 2007 à 19:51
Salut,

ça fait un petit moment que je cherchais à détecter la fermeture du navigateur. Tous les codes trouvés en ligne ne parlaient que de femeture de page.

J'ai donc testé ton code et ça marche royalement, tant sur IE que sur Firefox.
Donc merci pour ce joli bout de code:

function FermerApplication()
{
 if (screenTop > 9999)
 {
     window.open('../commun/deconnexion.php');
  }
}
0
zelimimi Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 23 mai 2007
22 mai 2007 à 17:15
Personnellement ca ne marche pas du tout C'est dommage j'aurais bien aimé quand même
Bon sous firefox c'est normal puisqu'à la place de screenTop c'est screenX
Mais bon sous IE ca me donne bien le coin en haut à gauche mais bon voilà quoi ça sert à rien
0
zelimimi Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 23 mai 2007
22 mai 2007 à 17:29
Bon alors euh j'avais pas vu qu'il y avait trois pages (oops la boulette) ... ca va ca va je suis nouvelle ...

J'ai été voir le script sur le forum microsoft mais alors j'y trouve quelques hic moi ...

Si je clique sur la fleche précédent ... bien vers la gauche et ben ca l'exécute le script ...
Et je commprends pas pourquoi ca marcherait sous firefox alors qu'il ne reconnait pas event.clientY
0
depitsho Messages postés 2 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 22 mai 2007
22 mai 2007 à 18:58
Désolé j'ai dit une bétise,
Le code ne marche pas sur Firefox. Mais sur IE j'ai bien retesté et c'est good.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zelimimi Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 23 mai 2007
23 mai 2007 à 08:34
Oups je viens de me rendre compte que j'avais posté deux fois le même

sous IE t'as essayé de cliquer sur le flèche précédent du navigateur ... pres du bord gauche (enfin faut-il encore que ta flèche soit sur le bord gauche du navigateur
0
jb_maur Messages postés 2 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 30 mai 2008
30 mai 2008 à 15:18
perso J'utilise ceci

function



unlog(evt){


   try
{


   if
( WSlogOutUrl &&

event
||evt ){







      var
ev =

event
||evt ;


      if
(ev.clientY < 0 && ev.clientX > (screen.width -10) ){


         // ton action





      }

   }

}catch(e){}

}

window.onbeforeunload = unlog;
0
jb_maur Messages postés 2 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 30 mai 2008
30 mai 2008 à 15:21
// en + propre


function
unlog(evt){


   try




   var
ev =
event
||evt ;


   if





ev
){

 

if



(ev.clientY < 0 && ev.clientX > (screen.width -10) ){  

// ton action
 }    }

}catch(e){}


}


window.onbeforeunload = unlog;
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 mai 2008 à 15:34
certes... sauf que ça ne fonctionne ni avec IE7, ni avec FireFox, ni avec Opera....
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous