Обнаружить нажатие F5 и обновить - PullRequest
2 голосов
/ 26 мая 2009

У меня есть веб-форма, и я хочу определить, была ли нажата кнопка F5 или страница была обновлена. Я знаю о постбэке, но это не то, что я ищу. У меня есть сетка, которая загружается в модальном всплывающем окне, когда нажимается кнопка и для параметра сетки отображается значение параметра. Если нажата кнопка «Обновить» и если ранее была нажата модальная всплывающая кнопка, то модальное всплывающее окно отображается сразу после обновления. Я хочу определить, обновилась ли страница, чтобы предотвратить это. есть идеи? Я думал попробовать Override, но я не совсем уверен, как его использовать. Я пытался использовать Control.ModifierKeys, но у меня нет доступа к ModifierKeys.

Ответы [ 2 ]

5 голосов
/ 26 мая 2009

Нажатие F5 или физическое нажатие на обновление браузера ведет себя так же, как и переход от страницы. Это фиксируется в событии window.onunload. Попробуйте приведенный ниже пример :

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;
}

Это захватит обновление и позволит вам что-то сделать или предложить пользователю.

1 голос
/ 26 мая 2009

Помните, что горячие клавиши обрабатываются на стороне клиента в браузере. Самый простой способ реализовать это через javascript.

Посмотрите на следующую ссылку:

http://snippets.dzone.com/posts/show/3552

...