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 :

L'évènement Unload ne marche pas


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut L'évènement Unload ne marche pas
    Bonjour

    Je travaille un tuto sur les événements Load et Unload
    Pour Load mon codage marche mais l'évènement Unload ne marche pas
    Normalement en quittant ma page web (fenêtre) le message2 devrait apparaitre

    Avez vous la solution?

    Cordialemnt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    <head>
    <script language="Javascript">
    function message1 () {alert("Bienvenue sur ce site web");}
    function message2 () {alert("A bientot");}
    </script>
    </head>
    <body onLoad="message1()" onUnload="message2()">
    </body>
    </html>

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    L'utilisateur a exprimé l'envie de quitter la page... Il veut pas qu'une pop-up le retienne !
    Tu pourrais utiliser console.log() pour vérifier que l'évènement est bien appelé. On doit aussi pouvoir s'en servir pour enregistrer des données de la page dans les cookies ou localStorage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Par défaut problème avec onunload
    Bonjour.

    Il me semble que onunload signifie "au déchargement", ce qui sous entend que la page n'est déjà plus là, et qu'elle ne peut plus rien faire !
    Essayez onbeforeunload qui permet à la transaction de "remuer encore un peu" avant de mourir...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script language="JavaScript">
    function confirmExit()
         {
         return "A bientôt" ;
         }
    window.onbeforeunload = confirmExit;
    </script>

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par iakou Voir le message
    Il me semble que onunload signifie "au déchargement", ce qui sous entend que la page n'est déjà plus là, et qu'elle ne peut plus rien faire !
    ... Dans ce cas-là, à quoi servirait-il que onunload existe et veuille dire quelque chose -_-° ?
    Il y a simplement des limitations, c'est tout. Il y en a aussi dans onbeforeunload, bien que lui permette de demander une ultime confirmation (selon des règles très précises.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par iakou
    Il me semble que onunload signifie "au déchargement", ce qui sous entend que la page n'est déjà plus là, et qu'elle ne peut plus rien faire !
    Ah... pourtant
    Citation Envoyé par MDN
    The unload event is raised when the window is unloading its content and resources. The resources removal is processed after the unload event occurs.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Par défaut Evènement onunload
    Bonjour.

    Pour déclencher l'évènement onunload, sur le code tel que "binco" l'a écrit, il faut bien faire un click sur la croix !
    Cela empêche l'exécution de message_2 puisque vous quittez le navire !... (quelquesoit le navigateur)

    PARTICULARITE :

    Le même code fonctionnera cependant sous IE mais en utilisant le refresh.
    Curieusement IE va d'abord "exécuter" message_2, puis recharger la page et par conséquent "exécuter" message_1.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par iakou Voir le message
    Pour déclencher l'évènement onunload, sur le code tel que "binco" l'a écrit, il faut faire faire un click sur la croix !
    Ou quitter la page de n'importe quelle autre façon.

    Citation Envoyé par iakou Voir le message
    Cela empêche l'exécution de message2 puisque vous quittez le navire !... (quelquesoit le navigateur)
    Tu ne fais que répéter ce que tu as déjà dit. Bovino et moi t'avons chacun exposé une contradiction devant cette théorie. Pourquoi n'y réponds-tu pas, au lieu de te répéter ?

    ... Enfin c'est inutile, le fait est que tu as tort, mais tu pourrais tout de même éviter d'insister.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [SDL] Gestion des événements ne marche pas
    Par lucas-84 dans le forum SDL
    Réponses: 5
    Dernier message: 17/11/2010, 14h18
  2. Propagation d'événements qui ne marche pas.
    Par Tavarez59 dans le forum Flex
    Réponses: 5
    Dernier message: 20/04/2010, 13h56
  3. unload form qui ne marche pas
    Par mathrix77 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/12/2009, 19h14
  4. Gestion d'événements qui ne marche pas
    Par shkyo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/01/2008, 15h57
  5. Réponses: 1
    Dernier message: 08/11/2006, 17h23

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