Можно ли отключить обновление браузера в моем webapp?

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

Ответ 1

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

(Здесь ниже с меткой "Ответ" )

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

При обновлении появляется предупреждающее сообщение, поэтому я предлагаю вам отобразить аналогичное предупреждающее сообщение вместо отключения функций обновления.

Ответ 2

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

Введите поле "Ответ", потеряйте фокус и обновите.

Просто, как это:

window.onbeforeunload = function () {return false;}

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

Ответ 3

Нет, нет возможности отключить его.

Если вы пытаетесь избежать "Хотите отправить это действие еще раз?", используйте Post/Redirect/Get.

Ответ 4

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

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

Ответ 5

Я не знаю, как отключить щелчок обновления (мне все же нужно это самому) Помимо использования серверной стороны script, чтобы остановить "перенаправление", ОДНАКО, я знаю о ЧРЕЗВЫЧАЙНО просто 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);

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

Если вы все еще ищете удобное решение; Я создал быстрый и очень простой плагин jQuery, который можно использовать для отключения F5, а также запрашивать конечного пользователя, когда они пытаются щелкнуть обновление или перейти от страницы:

https://github.com/clintb/LockNav

Ответ 9

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

<body onkeydown="return (event.keyCode != 116)">

Ответ 10

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

<body onkeydown="return (event.keyCode == 154)">