Page 1 sur 1

Bug firefox sur le onbeforeunload?

Publié : 22 sept. 2008, 13:15
par Invité
Voila une page web très simple avec un onBeforeUnload :

Code : Tout sélectionner

<html>
<head>
<title></title>
</head>
<body onbeforeunload="alert('test')">
</body>
</html>
Mon problème se présente dans le cas suivant : quand plusieurs onglets sont ouverts et que l'on essaye de fermer firefox, il fait apparaitre un message demandant la confirmation de la fermeture en précisant que l'on va fermer plusieurs onglets. (si vous avez laissé la petite case coché dans cette popup :wink:)

Seulement dans le cas ou on utilise "onbeforeunload" comme dans le code de la page cité précédemment, on se rend compte que le code javascript est appelé AVANT la popup de confirmation. Du coup si dans la popup de confirmation on annule pour ne pas quitter, le script aura été exécute alors que la page n'aura pas été réellement déchargée.

Sur IE 7 comme sur Safari, le navigateur va bien exécuter le script que lorsque l'utilisateur valide qu'il veux quitter et n'exécute donc pas le code en cas d'annulation.

J'ai rechercher une référence à ce bug sur le bugzilla de firefox sans succès, et j'aimerais donc savoir si il s'agit d'un bug ou non?
(je voulais reporter ce bug directement mais j'ai eu peur de reporter un truc qui n'est pas un bug, alors je demande ici avant :oops:)

J'ai fais ce test sur firefox 3.0.1, IE7 et Safari 3.1.2. J'ai aussi voulut essayer sur Chrome pour comparer mais il ne demande pas de confirmation avant de quitter.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 22 sept. 2008, 13:23
par Invité
Oups j'avais oublié de me connecter avant de poster. quoi qu'il en soit je me demande si ce problème n'est pas due à cette fonctionnalité qui sous firefox ne fait apparaitre qu'une seul popup, alors que sous ie elle est gérée dans 2 popup différentes.
blogs.codes-sources.com

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 22 sept. 2008, 13:25
par Invité
Bon ba on dirais que j'ai du mal a me connecter, je reposte encore une fois en espérant que cette fois ça a fonctionné. dsl de poster juste pour ça mais c'est pour pouvoir suivre mon post :roll:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 22 sept. 2008, 13:55
par calimo
On dirait bien du microsoft-only http://en.wikipedia.org/wiki/DOM_events ... fic_events

Où est la doc ?

Publié : 22 sept. 2008, 14:34
par Pastisman
Bonjour,

J'ai testé avec "onunload", et j'obtiens le comportement que tu attends !

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.2; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 22 sept. 2008, 15:07
par AzraelMonu
La doc de mozilla sur onbeforeunload :
http://developer.mozilla.org/en/DOM/win ... foreunload
C'est effectivement un événement introduit par microsoft, mais qui à par la suite été intégré dans mozilla même si ce n'est pas un événement standard.

Sinon Pastiman j'ai besoin de onbeforeunload à la place de onunload car j'ai besoin d'appeler l'événement avant que la page soit déchargée. Je suis dans un cas assez complexe d'application web, et au moment du onunload je ne peux plus accéder à certaines informations qui sont encore accessible avec le onbeforeunload.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 22 sept. 2008, 16:24
par calimo
Voir http://tinyurl.com/4zsx5q
Il y a pas mal de bugs, mais rien pour ça spécifiquement... tu pourrais peut-être ouvrir un bug ;-)

Publié : 22 sept. 2008, 23:04
par AzraelMonu
Ok, merci. je vais ouvrir un bug de ce pas 8-)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

Publié : 23 sept. 2008, 09:11
par calimo
C'est le bug 456447. Il est déjà confirmé !
Par contre j'ai créé un testcase. Je précise qu'il faut que browser.tabs.warnOnClose soit sur "true" et qu'on essaye de fermer une *fenêtre*.

Publié : 23 sept. 2008, 09:35
par AzraelMonu
Oui c'est bien lui que j'ai posté. Merci pour les précisions que tu y a apporté.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1