Как я могу предоставить подтверждение закрытия окна Internet Explorer? - PullRequest
0 голосов
/ 12 июля 2010

Моя компания использует веб-приложение с длинными формами, которые пользователь заполняет.Некоторые из этих форм сохраняются на ходу (чтобы вы могли закрыть окно и вернуться к нему), но другие могут быть сохранены, только когда они полностью заполнены.Мы получаем ежедневные звонки от пользователей, которые «случайно» нажали кнопку закрытия в своем окне IE.Не спрашивайте меня, как это происходит, но звонки постоянны, так как система была внедрена.Мне было поручено найти решение.

Сначала меня спросили, есть ли способ полностью удалить X, но я не думаю, что это так.Поэтому моя идея состоит в том, чтобы как-то предоставить пользователям подсказку, когда они нажимают X, напоминая им, что их работа может быть не сохранена, или, по крайней мере, подтверждая, что они хотят закрыть окно.Поскольку я не могу каким-либо образом изменить веб-сайт приложения, я включил его в HTML-файл, содержащий код для определения момента закрытия окна.Мои вопросы:

  1. Возможно ли это?
  2. Как мне это сделать?
  3. Есть ли лучший способ?

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

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Вы можете запросить пользователя, вернув строку из обработчика событий onBeforeUnload. Браузер добавит собственное сообщение до и после возвращаемой строки, а также поместит кнопки «ОК» и «Отмена».

window.addEventListener('beforeunload', 
                        function() {
                          return 'Are you sure you want to close this window with unsaved changes?'; 
                        }, 
                        false);

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

1 голос
/ 12 июля 2010

Я думаю, что вы ищете это: http://msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx

function closeIt()
{
  return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;

Смотрите также: https://developer.mozilla.org/en/DOM/window.onbeforeunload

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