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

Développement Web en Java Discussion :

Fermeture du navigateur


Sujet :

Développement Web en Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Fermeture du navigateur
    Bonjour à Tous.

    J'ai une application développée en JAVA/J2EE, et j'ai besoin d'intercepter l'événement de fermeture du navigateur IE (Déclencher un traitement quand l'utilisateur ferme son navigateur IE).
    Alors j'ai essayé des trucs du en JavaScript mais ca ne fait pas ce que je veux (Comme onbeforeunload....)

    J'espère que qq un pourra bien m'aider!!!

    NB : cela fait deux jours que je suis dessus et que j'y arrive pas..

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Alors, je vais tenter de te fournir une piste pour ton problème... Pas du tout garanti que ça marche étant donné que j'ai pas pu tester.

    Donc, une solution en Javascript serait l'utilisation de l'API Prototype que tu peux télécharger ici
    Ensuite, dans le head de ta fonction, tu tappes ton script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript" scr="path/to/prototype.js "/>
    <script type="text/javascript">
        document.observe("unload", function (){
                alert("test");
            };
    </script>
    Normalement... si tout c'est bien passé, à la fermeture de ta page, tu auras un joli alert. Tu pourras alors remplacer par la fonction js de ton choix.
    Sinon, bah désolé ^^

    Voilà, a+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Je pense que ca peut marcher
    Pour moi il ne faut pas mettre le code correspondant à l'événement de fermeture du navigateur IE dans une page (html, JSP) particulière " Car ce que je veux c'est un traitement qui s'exécute à la fermeture de IE, et peu importe sur quelle page on se trouve".

    - Donc pour moi il faut mettre un listener qui écoute le navigateur.
    - Sinon qq chose dans tomCat ou le web.xml.

    Le problème c'est que l'action Fermeture du navigateur IE ca se passe au niveau client et ...

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    C'est impossible d'écouter la fermeture de IE. Il faut faire des bidouilles, pas le choix.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    C'est impossible d'écouter la fermeture de IE. Il faut faire des bidouilles, pas le choix.
    Disons qu'avec IE ce serait possible, mais ça ne fonctionnerait pas sur un autre navigateur...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Disons qu'avec IE ce serait possible, mais ça ne fonctionnerait pas sur un autre navigateur...
    Oui mais de toute façon notre application nbe tourne que sur IE, donc si t'as une façon d'écouter IE ca serait génial.

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Pas de problème...
    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
     
    <html>
    <head>
     
    <script language="javascript">
     
    function unloadPage(e)
    {
        if (e.clientY < 0)
        {
            alert("on quitte !");
        }
        return true;
    }
     
    </script>
    </head>
     
    <body onbeforeunload="unloadPage(event)">
     
    <form action="http://www.ibm.fr/" onsubmit="showWaiting()">
     
    Champ 1 <input type="text" name="Champ1" value="Test 1"/><br>
    Champ 2 <input type="text" name="Champ2" value="Test 2"/><br>
    <br>
    <br>
    Puis, un autre texte...
    <br>
     
    <input type="submit" value="Envoyer"/>
    </form>
     
    </body>
    </html>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Pas de problème...
    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
     
    <html>
    <head>
     
    <script language="javascript">
     
    function unloadPage(e)
    {
        if (e.clientY < 0)
        {
            alert("on quitte !");
        }
        return true;
    }
     
    </script>
    </head>
     
    <body onbeforeunload="unloadPage(event)">
     
    <form action="http://www.ibm.fr/" onsubmit="showWaiting()">
     
    Champ 1 <input type="text" name="Champ1" value="Test 1"/><br>
    Champ 2 <input type="text" name="Champ2" value="Test 2"/><br>
    <br>
    <br>
    Puis, un autre texte...
    <br>
     
    <input type="submit" value="Envoyer"/>
    </form>
     
    </body>
    </html>
    A+
    Merci pour ta réponse, mais c'est tjrs le même problème qui est :
    L'événement ne se produit que sur la page dans laquelle j'ai mis ce code, ca veut dire que si je suis sur une autre page et que je ferme IE il ne se passe rien ...

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mechbab Voir le message
    Merci pour ta réponse, mais c'est tjrs le même problème qui est :
    L'événement ne se produit que sur la page dans laquelle j'ai mis ce code, ca veut dire que si je suis sur une autre page et que je ferme IE il ne se passe rien ...
    C'est évident...

    Mais il ne faut pas rêver, il faudra bien référencer la méthode "onbeforeunload" dans toutes tes pages, pour le code proprement dit, rien ne t'empêche de le mettre dans un fichier xxx.js que tu références dans toutes les pages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script src="/leChemin/xxx.js"></script>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par mechbab Voir le message
    - Donc pour moi il faut mettre un listener qui écoute le navigateur.
    - Sinon qq chose dans tomCat ou le web.xml.
    Il faut bien comprendre que tomcat, ce n'est qu'un serveur d'application. Il n'y a que le navigateur (et donc que la partie cliente) qui peut prévenir que le navigateur se ferme.
    Donc, il est nécessaire d'ajouter un header (ou bien ajouter dans chaque page) pour que quand ton navigateur se ferme, le navigateur exécute un code javascript qui lui envoie une requête au serveur.

    Mais ceci n'est en général jamais fait comme ça. Il y a un timeout sur la connexion de l'utilisateur. Au bout d'un certain temps, un traitement particulier (déconnexion, etc.) sera effectué si le client n'accède plus aux serveurs.
    (sinon, le serveur est susceptible d'être facilement piraté (personnellement, j'ouvrirais des connexions avec telnet ou autres sur ton serveur qui ne fermerait jamais certains traitements, et ça plomberai le serveur en 5 minutes))
    Je ne répondrai à aucune question technique en privé

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par millie Voir le message
    Il faut bien comprendre que tomcat, ce n'est qu'un serveur d'application. Il n'y a que le navigateur (et donc que la partie cliente) qui peut prévenir que le navigateur se ferme.
    C'est l'erreur fréquente en effet, et une chose primordiale à comprendre dans ce genre d'applications
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [IMG] fermeture du navigateur web
    Par stolx_10 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/10/2006, 16h41
  2. Réponses: 2
    Dernier message: 29/08/2006, 16h27
  3. [Mail] Envois mail à la fermeture du navigateur
    Par nicoaix dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2006, 14h38
  4. [Javascript] modifier des variables a la fermeture du navigateur
    Par kespy13 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/05/2006, 14h35
  5. [MySQL] Vider une table à la fermeture du navigateur
    Par cheucher dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/03/2006, 12h20

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