Как определить, нажал ли пользователь кнопку «назад» - PullRequest
16 голосов
/ 05 января 2010

Когда пользователь переходит в history-back-1 ... как я могу это обнаружить? А затем, предупредить "пользователь нажал назад!"

Использование привязок (и желательно jquery)

Ответы [ 5 ]

20 голосов
/ 05 января 2010

Вы вообще не можете (ограничение безопасности браузера). Вы можете сказать, перемещается ли пользователь со страницы (onbeforeunload, onunload fire), но вы не можете сказать, куда он ушел, если вы не настроили свою страницу, чтобы разрешить это.

HTML5 представляет API истории HTML5; в соответствующих браузерах событие onpopstate будет срабатывать, если пользователь переходит на более раннюю "страницу" на вашем сайте.

7 голосов
/ 05 января 2010

попробовать:

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;
}
2 голосов
/ 29 марта 2013
window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}
0 голосов
/ 22 сентября 2015

Ниже приведены шаги для определения нажатия кнопки "назад"

.
  1. Регистрация события нажатия мыши на теле $('body').on('mousedown' ,'on all li' );

    2. Теперь установите переменную при возникновении события mousedown.

    3.Проверьте эту переменную при изменении вашего местоположения.

ЕСЛИ переменные изменяются на true, это означает, что список щелкнул в противном случае кнопка

Эта работа в моем сценарии использования. Это решение может помочь другим, потому что оно зависит от дизайна приложения

0 голосов
/ 01 октября 2013

На странице, которую вы просматриваете, вы можете добавить этот фрагмент кода к событию onLoad, чтобы переместить их обратно на страницу, на которой они находились.

if(history.length>0)history.go(+1)

Если вы хотите предупреждение, сделайте его

if(history.length>0)alert("the user clicked back!")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...