JS-скрипт для подтверждения закрытия страницы

JS-скрипт для подтверждения закрытия страницы

Если установить обработчик события beforeunload, который возвращает true или другое значение:

window.onbeforeunload = function() {
	return true;
};
JS

То при попытки пользователем перезагрузить страницу или закрыть окно или вкладку браузера, будет выводится сообщение:

При попытки перезагрузить страницу или закрыть окно браузера

Ранее можно было прописать свой текст, но из-за злоупотреблений эту возможность убрали.

Грамотное использование этого события – избежать случайного закрытия окна если пользователь начал заполнять форму. Сделать это можно на JQuery, повесив событие onchange на все поля формы и удаление onbeforeunload при её отправки.

set_onbeforeunload = function(){
	return true;
};

$(document).ready(function(){
	$(document).on('input', ':input', function() {
		window.onbeforeunload = set_onbeforeunload;
	});
	
	$('form').submit(function(){
		window.onbeforeunload = null;
	});
});
JS

Пример работы:

01.10.2019, обновлено 01.05.2020
4857

Комментарии

, чтобы добавить комментарий.

Другие публикации

Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
13445
+17
Блокировка многократной отправки формы
Из-за отправки файла, медленного интернета или тормозящего браузера, пользователь может нажать кнопку отправки формы...
3322
+2
Примеры отправки AJAX JQuery
AJAX позволяет отправить и получить данные без перезагрузки страницы. Например, делать проверку форм, подгружать контент и т.д. А функции JQuery значительно упрощают работу.
75150
+11
Как узнать что пользователь перешел на другую вкладку или свернул браузер
В случаях когда пользователь свернул окно браузера или перешел на другую вкладку, есть смысл отключить ненужные сетевые...
1702
+3
Select с ссылками
По спецификации HTML в option нельзя вставить ссылку, если все-таки её туда вставить, то работать она не будет. В таких случаях можно сделать перенаправление браузера по клику на JS или имитацию...
5637
0
Быстрый поиск с выводом результатов
Виджет на JQuery и AJAX, который покажет результаты поиска непосредственно при вводе в текстовое поле.
11934
-1