Могу ли я отключить обновление браузера в моем веб-приложении? - PullRequest
11 голосов
/ 19 апреля 2011

Я хочу отключить обновление на моем сайте.Есть ли способ отключить F5 , Ctrl - R или перезагрузить веб-страницу?

Ответы [ 9 ]

14 голосов
/ 19 апреля 2011
window.onbeforeunload = function () {return false;}

Это отключает уход со страницы, пока пользователь не подтвердит, а не только обновление, поэтому вам придется написать это самостоятельно, чтобы заставить его работать.что вы делали с этим, поэтому я оставил это на этом.

7 голосов
/ 19 апреля 2011

Нет, его нельзя отключить.

Если вы пытаетесь избежать диалогового окна «Хотите ли вы снова выполнить это действие?» , используйте Post/Redirect/Get.

3 голосов
/ 11 ноября 2012

Проверять наличие куки каждый раз при входе на страницу.если файл cookie существует, то вы знаете, что было сделано обновление.

Если файла cookie нет, создайте его с нулевой продолжительностью (существует только до тех пор, пока браузер все еще открыт) * ​​1003 *

2 голосов
/ 03 ноября 2011

Я не знаю, как отключить обновление, нажав (мне все еще нужно это сам) Кроме использования серверного скрипта для остановки «перенаправления» ОДНАКО, я знаю, ОЧЕНЬ легко отключить jQuery F5 :

function disableF5(e) { if (e.which == 116) e.preventDefault(); };
// To disable f5
$(document).bind("keydown", disableF5);
// To re-enable f5
$(document).unbind("keydown", disableF5);
2 голосов
/ 19 апреля 2011

У меня есть предложение. На этой странице есть поле для ответов.

(здесь с надписью Your Answer)

  • Введите текст.
  • Тогда обновите эту страницу

Когда вы обновляете, появляется какое-то предупреждающее сообщение, я предлагаю вам вывести подобное предупреждение вместо того, чтобы отключать функцию обновления.

2 голосов
/ 19 апреля 2011

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

0 голосов
/ 24 апреля 2015

Если вы хотите отключить Ctrl + F5, Ctrl + R, F5, Backspace, то вы можете использовать этот простой код. Этот код работает как в Mozila, так и в Chrome. Добавьте этот код в тег вашего тела:

<body onkeydown="return (event.keyCode == 154)">
0 голосов
/ 11 сентября 2014

Существует способ предотвратить обновление страницы пользователем, нажав F5.Попробуйте следующие коды внутри тега вашего тела:

<body onkeydown="return (event.keyCode != 116)">
0 голосов
/ 19 апреля 2011

В некоторых браузерах могут работать некоторые приемы, но нет ничего, что могло бы гарантировать, что они не смогут обновить страницу.Браузеры и веб-стандарты широко открыты, поэтому пользователь может легко взломать браузер, чтобы обойти все, что вы внедрили.

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

Если это необходимо для исправления ошибки (например, отсутствия идемпотентности), вам следует вместо этого заняться исправлением ошибки.

...