powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JS) OnBeforeUpdate. Показывать предупреждение не всегда
13 сообщений из 13, страница 1 из 1
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655440
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам факт привязки к событию непустой функции заставляет браузеры спрашивать. Но мне нужно спрашивать не всегда, а только если на форме действительно произошли изменения. Отслеживание измений я реализовал. Чтобы включить предупреждение, я делаю привязку к событию, чтобы отключить -- отвязываю. По-моему, это не правильно, я предпочёл бы возвращать true или false в зависимости от того, нужно мне спрашивать или нет. Но браузеры (некоторые) требуют возвращения строки, которая будет отображаться в окошке. Как-то можно по-другому, не отвязываясь от события, подавить предупреждение?
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655449
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P. S. Я использую jQuery, IE < 8 не тревожит.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655779
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сирин... Но браузеры (некоторые) требуют возвращения строки, которая будет отображаться в окошке. Как-то можно по-другому, не отвязываясь от события, подавить предупреждение?
Это как это? Есть хандлер события и ему нужно возвращать не булевое, а строковое значение? - Ахинея.
Сформулируй более точный вопрос. Желательно подтвержденный кодом.

P.S. Отвязывать и привязывать события - нормальная практика. Я бы даже сказал, что хорошая, так как при удалении хандлера на событие ДОМ "начинает чегче дышать".
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655799
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы погуглите про событие OnBeforeUpdate. Это событие изначально появилось в IE и его нет в стандарте. Разными браузерами поддерживается по-разному. Те, кто поддерживает, поддерживает по-разному. IE воспринимает строку, Chrome воспринимает строку, Firefox не воспринимает строку начиная с версии 4 (но событие поддерживает). Opera вообще не поддерживает.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655812
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько помню, данное событие действительно некроссбраузерно и использовать его "некошерно". К счастью, начиная с Н версий назад все известные браузеры используют событие onbeforeunload. Думаю, надо попытаться использовать его, иначе проблемы так или иначе останутся.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655840
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы хотел, чтобы решение -- показывать предупреждение или нет -- принималось только 1 раз -- в событии onbeforeupdate, где бы я мог отменить показ предупреждения.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655848
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К концу рабочего дня всё спуталось. Всё, о чём я говорил, относилось onbeforeunload

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
		    	if (isChanged)
		    	{
			    	$(window).bind("beforeunload", function(){return "Есть несохранённые изменения."});
		    	}
		    	else
		    	{
		    		$(window).unbind("beforeunload");
		    	}
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655852
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда создавал тему, поленился посмотреть точное название события. Править не могу, так что :(
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37655857
Сирин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я хотел сделать:
Код: javascript
1.
2.
3.
$(window).bind("beforeunload", function(){
  return isChanged;
}


Это не работает -- предупреждение выводится всегда. Браузеры, которые поддерживают приём сообщения, выводят false или true.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #37656628
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиринБраузеры, которые поддерживают приём сообщения, выводят false или true.
Все браузеры поддерживают это событие.
Событие вешается не на window, а на body.

Так и не понятно из поста - что работает, а что нет. И главное - что-таки от нас надо?
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #38130444
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проблема с onbeforeunload
Я открываю страницу в окне window.open(...) на этой странице повешен обработчик события:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
window.onbeforeunload = function (evt) {
				window.opener = parent;
				var message = "Закрыть приложение ?";
			if (typeof evt == "undefined") {
			evt = window.event;
			}
			if (evt) {
				evt.returnValue = message;
				};
		return message;
	};



Мне нужно что бы оно сработало только один раз когда жамкают на крестике окна самого браузера, а предупреждение вылезает теперь при каждом открытии блока div(различные jquery плагины).

Как реализовать желаемое?

Спасибо
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #38130555
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И даже не зависимо от того открыта ли страница через window.open(...) или нет.
...
Рейтинг: 0 / 0
(JS) OnBeforeUpdate. Показывать предупреждение не всегда
    #38131837
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда по другому задам вопрос:
На что конкретно срабатывает данное событие? И как мне его обойти, что бы срабатывало только при закрытии окна браузера...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JS) OnBeforeUpdate. Показывать предупреждение не всегда
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]