begin process at 2012 02 14 08:59:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Capture l'évènement close du navigateur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Capture l'évènement close du navigateur

jeudi 3 mai 2007 à 16:27:26 | Capture l'évènement close du navigateur

lawraC

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.
jeudi 3 mai 2007 à 16:43:38 | Re : Capture l'évènement close du navigateur

lawraC

Bon ben , en fait, j'ai trouvé par hasard sur un site anglais. Je pouvais pas l'inventer, mais bon.

Dans le script :

function FermerApplication()
{
 if (screenTop > 9999)
 {
 window.open('deconnecte.asp');
 
  }
}

Dans le body :
onUnload="FermerApplication();"


Lawra C.

jeudi 3 mai 2007 à 16:44:56 | Re : Capture l'évènement close du navigateur

bultez

Membre Club




Bonjour,

parfait résumé de la situation.
impossible d'interdire de cliquer sur la croix ( ou autres manières de fermer )
onunload et onbeforeunload sont déclenchés lorsque que l'on quitte la
fenêtre en cours.

rien d'autre n'est possible. il faut en tenir compte dans
la conception de l'application.



Cordialement                Bul     [mon Site]     [M'écrire]

jeudi 3 mai 2007 à 16:55:16 | Re : Capture l'évènement close du navigateur

bultez

Membre Club




ah.. croisement...
mais qu'est-ce que ça fait ton truc ?

quoi qu'il arrive on a l'alert 'non' ???
que l'on clique sur le lien, ou sur la croix...

<script type="text/javascript">
function FermerApplication()
{
 if (screenTop > 9999)
    {
        alert('oui')
  }
  else
  {
    alert('non');

  }
}
</script>
<body    onUnload="FermerApplication();">
    <a href="new 1.htm">lien</a>
</body>


ou alors "j'ai rien compris" ???


Cordialement            Bul     [mon Site]     [M'écrire]

vendredi 4 mai 2007 à 09:04:52 | Re : Capture l'évènement close du navigateur

lawraC

Salut,

alors là, tu m'étonnes parce que dans mon cas, avec le test screentop>9999 je peux identifier la fermeture du navigateur et seulement elle.
Ce que personnellement je ne comprends pas vraiment dans la manip, je l'avoues, c'est en quoi la position du coin supérieur gauche de l'écran permet de distinguer s'il s'agit d'une fermeture par le bouton X ou pas.
En tout cas ça marche, même si je redimensionne la fenêtre à 1/4 de l'écran.
Par contre, j'ai trouvé des bouts de codes où leur test se faisait sur screentop>10000.
Peut-être est-ce lié au navigateur, perso je suis sous IE 6.
Ce que je te conseille c'est de mettre alert(window.screenTop); dans la fonction FermerApplication pour tester, sur click sur X, quelle valeur il t'affiche.


Lawra C.
vendredi 4 mai 2007 à 09:32:24 | Re : Capture l'évènement close du navigateur

bultez

Membre Club





>>screentop>9999 je peux identifier la fermeture du navigateur
ça me surprendrais... mais peut-être me trompe-je ?
met screen à la place de screentop : même résultat.
essayes le script que j'ai mis ( IE7, FF, K-meleon, Opera )
    ===>    c'est toujours "non" qui est affiché.



Cordialement            Bul     [mon Site]     [M'écrire]

vendredi 4 mai 2007 à 09:48:38 | Re : Capture l'évènement close du navigateur

lawraC

Fonction utilisée :
function FermerApplication()
{
 if (screenTop > 9999)
 {
 alert ('Je ferme bouton close :'+ window.screenTop);
 window.open('deconnecte.asp?cas=2');
 }
 else
 {
  alert ('Je suis sur un lien :'+ window.screenTop);
 }
}

Et ça marche à tous les coups. J'ai fait des captures d'écran que je peux t'envoyer pour preuve parce que là, je sais pas comment mettre des images dans ce post.




Lawra C.
vendredi 4 mai 2007 à 10:12:57 | Re : Capture l'évènement close du navigateur

bultez

Membre Club




et bien on a des systèmes, des OS, des navigateurs  différents

<html>
<head>
<script type="text/javascript">
function FermerApplication()
{
    if (window.screenTop > 9999)
            {    alert(window.screenTop+' oui >9999');    }
    else    {    alert(window.screenTop+' non <=9999');    }
}
</script>
</head>
<body    onUnload="FermerApplication();">
    <a href="new1.htm">lien</a>
</body>
</html>

quoi qu'il arrive,chez moi, (  click sur la croix, le lien, F5 ... ) mais je ne dois pas être le seul,
         avec IE7,FF,K-Meleon,Opera... : on passe par "non"
et quand ce n'est pas IE, window.screenTop est "undefined".
tu as essayé avec le script comme je le met, sans windows.open...
    qui peut perturber, avec uniquement les alert ?


Cordialement            Bul     [mon Site]     [M'écrire]

vendredi 4 mai 2007 à 10:46:31 | Re : Capture l'évènement close du navigateur

lawraC

Ben ouais et ça marche.
Comprends pas...
F5 est traité comme un lien.
Je suis sous XP, ça joue ?
Voici exactement les caractéristiques de mon navigateur (propre à toute mes utilisateurs) :
IE 6.0.2800.1106.xpsp1.020728.1920C0
Mises à jour : Q823353, Q867801, Q903235
Peux pas être plus précise.


Lawra C.
vendredi 4 mai 2007 à 11:25:05 | Re : Capture l'évènement close du navigateur

bultez

Membre Club





Bonjour,

    ce serait quand même, me semble-t-il, une "révolution"...
    depuis le temps que je lis, partout, que ce n'est pas possible !
    mais... ça ne fonctionne pas chez moi.

    j'avais essayé,testé... plein de choses
       windows XP ou 98, IE7 ou 6, autres navigateurs...
       jamais trouvé quelque chose qui marchait.

    perso :     Windows XP SP2, tout à jour.
                    IE 7.0.5730.11IS, FF 2.0.0.3, Opera 9.20,K-Meleon 1.02

    je serais bien curieux d'avoir le résultat des essais,
        les sentiments... des autres intervenants !
    si tu pouvais enlever le "résolu", peut-être on aurait d'autres vues...


Cordialement        Bul     [mon Site]     [M'écrire]


1 2 3

Cette discussion est classée dans : arrive, navigateur, capture, évènement, close


Répondre à ce message

Sujets en rapport avec ce message

fonction close ne marche pas sur la fenêtre 'première' du navigateur [ par thierry ] Bonjour,Je suis à la recherche d'une solution concernant la fermeture la fenêtre 'première' du navigateur sans validation. La fonction close ne foncti probleme avec self.close() [ par remisog ] Bonjour,j'ai un léger problème mais je n'arrive pas a trouvé la solution.je travaille sur une application fonctionnant sous IE6, a un moment la fenêtr windows.close... [ par davidcian ] Bonjour,Voila j'ai un problème voila mon script:Ca! ça marche parfaitement!Mais si je Capture Ecran Distant [ par cobra08200 ] Bonjour à tous!Je developpe sur un intranet la gestion d'un portail d'informations (affichage de differents PPS)Je souhaiterai afficher sur l'intranet Probleme javascript [ par flosalmon69 ] bonjour a tousalors voilà ,je n'y connais rien mais alors rine de rien ,et comme j'ai monté une asso j'essaye de faire vivre un peu le blog sur blog4e Recherche des gens passionés ! [ par DakM ] Hello'Avant de lire la suite, si vous cherchez une remuneration, sortez du thread : )Dans mon temps libre, je m'amuse a creer un orpg basé sur la navi Menu déroulant [ par artax1977 ] Bonjour à tous,Tout d'abord tous mes meilleurs voeux pour l'année nouvelle...J'utilise le script "javascriptfr_MENU-DEROULANT". C'était absolument cec probleme pour passer des parametres [ par aztec78 ] bonjour,je crée une fonction en javascript qui créé un formulaire de saisie avec un bouton envoyer et un bouton closepour le bouton close j'affecte un Changer un parametre css en fonction du navigateur en javascript [ par nooTe91 ] bonjour, Je cherche a modifier un paramètre de CSS en fonction du navigateur mais je n'arrive pas. J'ai beau chercher sur le net,je dois mal chercher, n'autoriser que le navigateur [ par trhtrh ] Bonsoir a tousConnaissait vous un code qui permet d'autoriser que le navigateur a télécharger un fichier et pas un logiciel du type bitcomet car bitco


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales