Как отключить обновление F5 в браузере?

Предпочтительно использование JavaScript, но хотелось бы услышать и другие способы


person Diskdrive    schedule 27.05.2010    source источник
comment
Почему вы хотите это сделать? Я спрашиваю, потому что это необычно, и может быть лучший способ решить вашу основную проблему.   -  person Eric J.    schedule 27.05.2010
comment
Вы можете сделать это, только отключив F5. Я погуглил Disable F5 Refresh и получил достаточно запросов, чтобы быстро разобраться.   -  person jsmith    schedule 27.05.2010
comment
Если вы отключите мой F5, я попробую CTRL+W или ALT+F4 следующим.   -  person Dolph    schedule 27.05.2010
comment
Привет, Эрик, у меня есть кнопка на экране, которая отправляет веб-службу. если я нажму эту кнопку, а затем нажму F5, он отправит эту веб-службу дважды. Спасибо   -  person Diskdrive    schedule 27.05.2010
comment
@RoboShop: я бы хотел, чтобы страница отправляла уникальный токен (генерируемый случайным образом при отображении HTML-страницы) вместе с запросом веб-службы. Если он получит этот токен во второй раз, предположите, что было нажато обновление, и отмените запрос.   -  person Eric J.    schedule 27.05.2010
comment
Также см. вопрос: stackoverflow.com /вопросы/2482059/   -  person Jeach    schedule 19.02.2014


Ответы (4)


Это отключит F5, но не фактическую функцию обновления:

document.onkeydown = function (e) {
  if (e.keyCode === 116) {
    return false;
  }
};

По крайней мере, в Chrome/XP.

person Matt    schedule 27.05.2010
comment
Я нажимаю кнопку обновления чаще, чем F5. Если пользователь только что нажал одну кнопку, он, скорее всего, нажмет другую кнопку, а не клавишу. - person detly; 27.05.2010

  1. Напишите серию расширений для браузера, удаляющих функцию обновления.
  2. Требуйте в своих Условиях использования, чтобы ваши пользователи устанавливали (и использовали) ваше расширение.
  3. Привлечь к ответственности за несоблюдение.
  4. Выгода! (?)
person Dolph    schedule 27.05.2010

На самом деле, вы можете.. Эта маленькая процедура все исправила для меня..

Мне нужны были другие ярлыки, но не F5.

Private Sub WebBrowser1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles WebBrowser1.PreviewKeyDown
    If e.KeyCode = Keys.F5 Then WebBrowser1.WebBrowserShortcutsEnabled = False Else WebBrowser1.WebBrowserShortcutsEnabled = True
End Sub

Быстро и грязно, но работает. Теперь я все еще могу использовать Ctrl-B, I и U для редактирования, но мне не нужно беспокоиться о том, что обновление убьет его!!

Наслаждаться!

person thphoenix    schedule 13.11.2013

Вы не можете отключить обновление.

person Community    schedule 27.05.2010
comment
вопрос был не в этом. Вопрос был в том, чтобы отключить обновление F5 - person Diskdrive; 27.05.2010
comment
@RoboShop - я думал, что это подразумевается в моем ответе, хотя похоже, что Мэтт доказал, что я ошибаюсь. - person nickf; 27.05.2010