Как получить доступ к событию JavaScript href, вызванному beforeunload

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

Таким образом, я выполнял бы разные действия в обработчике событий beforeunload в соответствии с тем, что было URL.

  • Каковы некоторые эмпирические технические причины не использовать jQuery?
  • Как затемнить изображение при наведении курсора мыши?
  • Захват веб-страницы как изображения в c #, обеспечивающий видимость элементов, обработанных javascript.
  • Есть ли способ обернуть все методы JavaScript с помощью функции?
  • Обнаружение изменений содержимого элемента с помощью jQuery
  • Надежный способ обнаружения настольных и мобильных браузеров
  • Например, «http:» или «https:» предупреждают пользователя о потере несохраненных изменений; 'Mailto:' или 'skype:' не предупреждают пользователя, потому что на самом деле страница не будет выгружена.

    Я пытаюсь создать хорошее решение такой проблемы: mailto link (in chrome) запускает window.onbeforeunload – могу ли я предотвратить это?

  • Как использовать struts2 submit tag как кнопку без отправки формы?
  • Невозможно установить значение фильтра, используя привязку данных?
  • Как узнать, какие элементы находятся в текущей позиции мыши?
  • Как правильно использовать setInterval и clearInterval для переключения между двумя различными функциями?
  • Как получить верхнее положение элемента?
  • Localstorage: получить конкретное значение localstorage, которое содержит много элементов
  • 2 Solutions collect form web for “Как получить доступ к событию JavaScript href, вызванному beforeunload”

    Я был готов сказать вам, что это невозможно, потому что событие onbeforeunload только сообщает, что оно было вызвано окном, когда вы проверяете event.target, event.originaltarget и т. Д. Если вы переопределите window.onclick, мы можем изменить это Метод регистрации последнего элемента на странице. Затем, предоставив код для window.onbeforeunload, мы можем указать новое поведение, которое будет проверять href элемента, который был нажат последним. Ура, пиво!

    Вот код, который даст вам именно ту информацию, которую вы хотите, хотя бы в чистом javascript и без трещин для добавления внутри ваших якорных тегов. Я также добавил в preventDefault (), в котором появится сообщение «Эта страница просит вас подтвердить, что вы хотите уйти – данные, которые вы ввели, могут не быть сохранены». Подтвердите. Надеюсь, это поможет – вы можете понять, что делать дальше.

    <!DOCTYPE html> <html lang="en"> <head> <title>12065389</title> <meta charset="utf-8"> <script type="text/javascript"> var last_clicked; window.onclick = function(e) { last_clicked = e.target; return true; } window.onbeforeunload = function(e) { var e = e || window.event; if (last_clicked.href) { alert(last_clicked.href); e.preventDefault(); } } </script> </head> <body> <a href="http://google.com">google</a> </body> </html> 

    Вероятно, я добавлю событие ко всем ссылкам на странице, а не к событию beforeunload.

    Что-то вроде:

     $("a").click(function(evt) { if($(this).attr('href').indexOf('http') == 0) { if(confirm("Are you sure?")) { //continue } else { evt.preventDefault(); } } } 
    JavaScript делает сайт умным, красочным и простым использованием.