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 :

Effectuer une tâche à la fermeture de la fenêtre


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2003
    Messages : 87
    Points : 56
    Points
    56
    Par défaut Effectuer une tâche à la fermeture de la fenêtre
    Bonjour,

    Me voilà confronté à un problème, je voudrais que lors d'un clic de la part de l'utilisateur sur la croix (ou d'un Alt+F4 pour windows) afficher une fenêtre de confirmation si possible dans tout les types de navigateur.

    Il y a bien le unload dans la balise body ou frameset, mais le problème, c'est que ma fonction est aussi executé lors d'un rafraichissement de page...alors evidemment, c'est assez embettant.

    Si vous pouvez m'aider, merci bien.


    Damien en detresse.

    PS : je peux aussi utiliser un fichier global.asa car le site tourne sous IIS, mais je n'ai pas l'impression que l'on peut effectuer cette opération.

    Merci bien pour vos réponses

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    En fait, le serveur n'a rien à voir dans tout ça. La fonction que tu recherches concerne le client uniquement. Tiens compte aussi que Javascript peut-être désactivé par le client, toutes les fonctions Javascript ne seront pas forcément éxécutées...

    Pour le message à la fermeture du navigateur, je n'ai pas trop de solutions.
    Fait une recherche sur le forum, par exemple :

    http://www.developpez.net/forums/viewtopic.php?t=301211
    http://www.developpez.net/forums/viewtopic.php?t=388543

    à+
    De retour parmis vous après 10 ans!!

  3. #3
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2003
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Merci SUb0 pour ta réponse.

    Lorsque j'énnonçais le serveur IIS, c'était pour vous informer que je peux par exemple configurer on_sessionEnd (pas sur de l'orthographe) par exemple..mais bon, j'ai fais un test mais ça ne marche pas génial (ou alors je ne sais pas m'y prendre, car j'ai testé vite fait)

    Pour tes 2 liens, je te remercie, mais j'ai testé avec onBeforeUnload (qui ne marche que sous IE je crois) mais j'ai le probème que ma fonction est executé lorsque l'on rafraichie la page...et pour le second lien..idem.

    Il faudrait pouvoir distinguer le rafraichissement et la fermeture dans mon cas.

    Arg

    Merci quand même à toi, et merci aux autres qui pourront m'aider (si je trouve, je vous tiens informé )

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'aurais bien une autre solution à te proposer, mais ça reste du bricolage, genre détecter la position et le clic de la souris pour déterminer que l'utilisateur a cliqué sur la croix lorsque unload est déclenché, ou bien avec le clavier, car la combinaison Alt+F4 ferme la fenêtre (suivant le navigateur et l'OS...).
    De retour parmis vous après 10 ans!!

  5. #5
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2003
    Messages : 87
    Points : 56
    Points
    56
    Par défaut
    Ouep mais le pb c'est que si la fenêtre n'est pas en pleine écran, ben pour les coordonnées...et bon c'est vraiment du bricolage.

    Bon je cherche du coté de l'ASP avec le fichier ASP.

    Merci bien à toi quand même

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    ASP est un langage serveur, tu n'arriveras à rien.

    Citation Envoyé par onipif
    si la fenêtre n'est pas en pleine écran, ben pour les coordonnées...
    Je ne vois pas où est le problème; Avec Javascript, il est certainement possible d'obtenir la position et les dimensions de la fenêtre. Normalement, tu dois pouvoir déterminer la position absolue du coin supérieur droit de la fenêtre. Il suffit ensuite de soustraire la hauteur et la largeur du bouton pour obtenir les coordonnées.

    Maintenant, le problème qui se pose, c'est l'épaisseur de la bordure de la fenêtre qui faudrait prendre en compte... De plus, le bouton peut très bien avoir des dimensions personnalisées. En général, la bordure ne fait pas plus de 3 ou 4 pixels et le bouton, 16 pixels... Mais bon, comme le unload se déclanchera, cela permet d'estimer l'opération effectuée. Je veux dire par là que le bouton d'actualisation ne se trouvera jamais en haut à droite de la fenêtre... Il est donc possible, grâce à l'évènement unload, de déterminer si l'utilisateur a cliqué sur le bouton de fermeture ou sur le bouton d'actualisation. Et enfin, pour la fermeture et l'actualisation au clavier, les choses sont faciles.

    Problème résolu ?
    De retour parmis vous après 10 ans!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Temps pour effectuer une tâche
    Par polymorphisme dans le forum ANT
    Réponses: 0
    Dernier message: 13/05/2011, 17h36
  2. Réponses: 2
    Dernier message: 04/05/2011, 08h07
  3. [PHP-SQL] Effectuer une tâche avec plus de 3000 requêtes
    Par kevinf dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/12/2007, 08h34
  4. Exécuter une action à la fermeture d'une fenêtre
    Par wwave dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 28/07/2005, 15h15
  5. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46

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