2015-06-08 4 views
0

Я знаю, что есть много других тем, связанных с этим вопросом, но ни один из них не отвечает моей потребности. У меня есть форма, которую я хочу автосохранять с сообщением сверху (скажем Сохранение), когда пользователь выбирает закрыть вкладку браузера без сохранения формы. Я попытался следующий код:Выполнить сохранение перед закрытием вкладки браузера

window.onbeforeunload = function (event) { 
    //form saving request 
    event.returnValue = "The form is being saved. Please wait"; 
}; 

Но проблема с вышеизложенным подходом является:

1> Я не хочу, чтобы это было предупреждение всплывающего окна, я хочу, чтобы это тихо происходит в фоновом режиме

2> Это дает 2 варианта: - Оставайтесь на странице или Оставьте эту страницу, что абсурдно по моей потребности.

Любые предложения приветствуются. Заранее спасибо

ответ

2

Вы можете использовать Beacon API для фоновых запросов по событию beforeunload, но только для браузеров Chrome и Firefox.

+0

Спасибо за предложение. Но я хочу сделать это простым способом JS или jQuery. Кроме того, плагин не поддерживает Safari и IE – Abhi

1

Вы можете использовать событие window.onunload, чтобы вызвать функцию при закрытии вкладки браузера. Я предлагаю вам изучить эту тему: window.onbeforeunload and window.onunload is not working in Firefox , Safari , Opera?

Много информации, которую вы должны знать при использовании . Window.onunload уже обсуждался там. Как бы то ни было, это событие не будет работать в Safari.

+0

Он работает для меня. Я просто не хочу всплывающее окно. – Abhi

+0

Я не уверен на 100%, если это решение зарезервирует достаточно времени для сохранения данных перед закрытием. Вам может потребоваться загрузить тест и убедиться, что он полностью сохраняет все данные правильно до того, как вкладка была прервана. –

+0

Точно, согласно моей попытке, когда всплывающее окно открывает вопрос о том, следует ли оставить страницу или нет, к моменту, когда пользователь нажмет кнопку, в фоновом режиме будет достаточно времени для сохранения. Но я хочу, чтобы это произошло без всплывающего окна. :-( – Abhi

Смежные вопросы