onbeforeunload - определение типа действия (нужны только кнопки навигации, а не выход из окна)

в моем приложении я использую onbeforeunload для вызова функции, когда страница находится в состоянии выгрузки. Есть ли способ в этой функции javascript определить, какое именно действие было выполнено, чтобы вызвать это? Моя проблема в том, что моя страница содержит два фрейма, каждый из которых имеет свою собственную страницу. У меня есть эта проверка на выгрузку для обеих страниц, но для одной из них я не хочу выдавать ошибку, если щелкнуть x, чтобы закрыть браузер или окно, только при нажатии кнопки навигации. (таким образом, когда пользователь нажимает x, чтобы закрыть, ему предлагается только один раз покинуть страницу). Ниже приведен пример javascript, который я использовал. Спасибо еще раз.

    function UnLoadWindow() {
        return 'Please do not use Browser Navigation Buttons. Please make sure all work is Saved prior to leaving this page.'

}


window.onbeforeunload = UnLoadWindow;

person njj56    schedule 27.02.2013    source источник


Ответы (1)


Это старый вопрос, поэтому вы, вероятно, уже нашли решение.

Но вы можете попробовать использовать событие onhashchange вместо onbeforeunload. Тогда он не должен срабатывать при закрытии?

Опять же, я не уверен, что находится в ваших фреймах и могут ли они перейти оттуда на другие страницы.

Однако это может быть полезно, так как у него есть значения newURL и oldURL, поэтому вы можете использовать их, чтобы определить, возвращается ли пользователь на предыдущую страницу.

Посмотрите:

событие onhashchange

person Zatos    schedule 14.02.2014