Как определить, нажал ли пользователь кнопку «Назад»

StackOverflow https://stackoverflow.com/questions/2008806

Вопрос

Когда пользователь возвращается к истории-назад-1... как мне это обнаружить?И затем предупреждение «пользователь нажал ответно!»

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

Это было полезно?

Решение

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

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

Другие советы

пытаться:

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;
}
window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}

Ниже приведены шаги для обнаружения нажатия кнопки «Назад».

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

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

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

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

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

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

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

Если вы хотите получать оповещения, сделайте это

if(history.length>0)alert("the user clicked back!")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top