Я могу предложить способ узнать, нажал ли пользователь кнопку браузера (назад, вперед, закрытие браузера и т. Д.). Я не мог найти способ выяснить, какая кнопка была нажата,
Но я надеюсь, что это поможет вам.
Чтобы узнать, нажал ли пользователь кнопку браузера, выполните следующие действия:
1. Зарегистрируйте событие window.beforeunload.
2. В обработчике проверьте event.clientY.
3. Если event.clientY не является defiend или event.clientY <0, то вы знаете, что пользователь нажал кнопку браузера. </p>
Например:
(Вам, вероятно, придется изменить код, чтобы он соответствовал вашей проблеме)
function beforeUnloadHandler(eventArg)
{
var _e = window.event || eventArg;
// browser button click
if (isNaN(_e.clientY) || _e.clientY < 0)
{
// unload process will continue
// and unload event will be fired
return;
}
// a confirmation with 'test alert' text will appear
// if the user clicks 'Cancel', the unload process will stop
// and unload event won't be fired.
return "test alert";
}
window.onbeforeunload = beforeUnloadHandler;
Этот код будет работать во всех основных браузерах: chrome, ff, ie9, ie8, ie7, ie6, opera 11, opera 10, safari 3,4,5.