Тааак ..
Вы пытаетесь запросить у пользователя подтверждение, когда он внес изменения на вашей странице, которые не будут сохранены, если он покинет страницу. Это правильно?
Если это так, то это представляется возможным . Попробуйте следующее на SO. Начните писать ответ на этот вопрос, а затем попробуйте закрыть окно браузера.
Я тестировал в Chrome 12, FF 4.0.1 и IE 9.
Все 3 браузера показывают всплывающее окно . Кажется, все они содержат пользовательский текст . Chrome показывает сообщение cleanest , что означает всплывающее окно только с пользовательским сообщением и 2 кнопками.
Во всех трех браузерах, пытающихся закрыть браузер любым обычным способом, запускается всплывающее окно, которое позволяет пользователю выбрать, не хочет ли он остаться на странице и завершить начатое. Если он хочет уйти, он может. (уничтожение процесса браузера или выключение компьютера может не дать желаемого результата :)).
Internet Explorer:
Firefox:
Chrome:
Я бы попробовал предложить функцию, которая возвращает строку в событие window.onbeforeunload. Попробуйте это :
<script>
window.onbeforeunload = function (evt) {
var message = 'You have started writing or editing a post.';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}
</script>