Как в браузерах создается сообщение «Вы уверены, что хотите перейти от этой страницы?»? - PullRequest
5 голосов
/ 28 января 2009

У меня есть страница, где я открываю "модальное окно". Это на самом деле просто DIV с IFRAME внутри, где я загружаю другую страницу. Когда я хочу обновить страницу, в браузере появляется окно с сообщением «Вы уверены, что хотите отойти от этой страницы? Перезагрузка этой страницы приведет к исчезновению модального окна. Нажмите OK, чтобы продолжить, или« Отмена », чтобы остаться на текущая страница."

Как генерируется это сообщение? Как браузер обнаруживает, что у меня есть модальное окно, потому что я не использую никакой вызов window.open () из JavaScript? Есть ли способ отключить это поведение браузера.

Ответы [ 3 ]

3 голосов
/ 28 января 2009

Может быть body.onunload в источнике страницы, загруженной в IFRAME.

Поскольку модальное окно по сути является IFRAME, то когда вы закрываете (или обновляете) главное окно, браузер знает, что оно уничтожает этот IFRAME, следовательно, любой body.onunload в этом IFRAME срабатывает.

1 голос
/ 19 февраля 2010

Если у вас есть функция, которая обрабатывает перед загрузкой, автоматически генерируется сообщение Firefox.

Вы можете отключить его, возвращая ноль в и вашего обработчика.

0 голосов
/ 28 января 2009

Это может быть вызвано тем, что какой-то сценарий изменяет все внешние ссылки для отображения этого модального окна, а затем возвращает true или возвращает false на основе вашего взаимодействия с модальным окном .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...