2010-09-08 6 views
0

Est-il possible d'attraper l'événement JavaScript lorsqu'un utilisateur appuie sur le bouton de retour dans le navigateur ou si history.back() est déclenché? La meilleure solution serait avec mootools.Comment est-ce que je peux attraper l'événement de bouton de dos?

Je sais qu'il ya window.onbeforeunload mais cela est également déclenché lorsqu'un formulaire est soumis ou un lien est cliqué ...

Répondre

2

Malheureusement, il n'y a pas vraiment moyen de le faire. Si vous le pouviez, les sites de spam auraient une journée sur le terrain.

Vous pouvez potentiellement utiliser window.onbeforeunload et avoir une variable booléenne globale sur la page que vous avez définie sur false si vous ne souhaitez pas déclencher l'événement. Par exemple, avant de soumettre le formulaire, définissez-le sur false ou, lorsqu'un lien est cliqué sur la page, définissez-le sur false. Ensuite, vérifiez simplement la variable.

EDIT: Désolé, juste pour être clair, je ne suis pas sûr si window.onbeforeunload se déclenche même lorsque le bouton de retour est cliqué. Je parle juste hypothétiquement si c'est le cas.

+1

Il se déclenche lorsque le bouton de retour est touché. Au moins dans Chrome. – Ronald

+0

C'est votre solution alors. Je vérifierais dans d'autres navigateurs cependant. – Liggi