Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как перехватить F5? (https://javascript.ru/forum/misc/7444-kak-perekhvatit-f5.html)

khusamov 01.02.2010 17:24

Как перехватить F5?
 
Как перехватить кнопку F5?

То есть по желанию скрипта разрешить или запретить обновлять страницу.

Опять нужна такая возможность для админки, которая полностью на JS написана. ЧТобы случайно состояние программы не сбросить таким обновлением страницы.

vk65535 01.02.2010 17:55

На window.onbeforeunload можно зацепиться и делать return false. Запретить, к счастью, не получится.

khusamov 01.02.2010 18:09

страшная конструкция получается. Там в окне этот false тоже высвечивается.

В общем этот обработчик заставляет броузер спрашивать пользователя: Вы действительно хотите уйти со страницы?

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

Может что получше есть???
Чтоб фраза была иной, не уйти а какая-нибудь своя

vk65535 01.02.2010 18:24

Если вернуть строку, она будет показана в диалоге.

khusamov 01.02.2010 18:34

Я это понял. Но выглядит это очень не дружелюбно...
Пользователь то не компьютерный чел.

e1f 01.02.2010 18:58

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

khusamov 01.02.2010 19:32

Пусть закрывает. Я не против так скажем.
Меня волнует лишь момент перезагрузки страницы.
Нужно чтобы при нажатии F5 появлялось окно:

"Вы уверены? При перезагрузке несохраненные данные системы управления будут утеряны. [да/нет]"

e1f 01.02.2010 19:48

Еще раз повторюсь, создать свое окно нельзя. Можно указать фразу, которая будет показана после стандартной.

Gvozd 01.02.2010 21:22

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

khusamov 01.02.2010 21:22

Спасибо за ответы!


Часовой пояс GMT +3, время: 05:55.