web-dev-qa-db-fra.com

Comment détecter si l'utilisateur a cliqué sur le bouton "retour"

Lorsque l'utilisateur accède à history-back-1 ... comment le détecter? Et puis, alerte "l'utilisateur a cliqué en arrière!"

Utilisation de binds (et jquery de préférence)

15
TIMEX

Vous ne pouvez généralement pas (restriction de sécurité du navigateur). Vous pouvez savoir si l'utilisateur navigue en dehors de la page (onbeforeunload, onunload fire) mais vous ne pouvez pas savoir où il est allé à moins que vous n'ayez configuré votre page pour l'autoriser.

HTML5 introduit l'API de l'historique HTML5; dans les navigateurs conformes, l'événement onpopstate se déclenchera si l'utilisateur revient à une "page" antérieure sur votre site.

20
EricLaw

essayer:

window.onbeforeunload = function (evt) {
  var message = 'Are you sure you want to leave?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}
6
Adnan
window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}
2
Mohsen Haeri

Voici les étapes pour détecter le clic du bouton de retour

  1. Enregistrer un événement de souris vers le bas sur le corps $('body').on('mousedown' ,'on all li' );

    2.Maintenant, définissez une variable lorsque l'événement mousedown se produit.

    3.Vérifiez cette variable lorsque votre position change.

Si la variable change en vrai, cela signifie que la liste a été cliquée sinon le bouton précédent

Cela fonctionne dans mon cas d'utilisation. Cette solution peut aider les autres, car elle dépend de la conception de l'application.

0
Saurabh Ahuja