У меня есть метод onberforeunload
, который правильно предупреждает пользователя, когда он пытается закрыть вкладку или браузер, используя следующий код:
window.onbeforeunload = function(event) {
event.returnValue = 'Are you sure you want to leave/';
console.log(event.returnValue);
};
Я обнаружил, что onberforeunload
не вызывается, когда я нажимаю гиперссылку на странице. Предупреждающее сообщение, которое я хочу отобразить, не появляется, и страница загружается свободно.
Я искал много способов создать всплывающее окно при выборе гиперссылки, но все они имеют дело с одной или группами гиперссылок в тегах div. Я хочу, чтобы всплывающее окно отображалось, если выбрана какая-либо гиперссылка.
Почему onbeforeunload
не ловит выход со страницы по гиперссылке? Правильно ли я понимаю onbeforeunload
, что он должен перехватывать выходы по гиперссылкам?
ОБНОВЛЕНИЕ
Я обновил код до следующего:
window.onbeforeunload = closeIT;
function closeIT() {
return 'here';
if(searchOnGoing){
return 'Ifs you leave the Youtube History page now the application will not finish';
}
};
Он по-прежнему не работает для гиперссылок и работает для закрытия браузера и вкладок. Я запускаю это как часть сценария содержимого в расширении Chrome, которое внедряет сценарий содержимого на страницу. Повлияло бы это на него?
У меня также есть подписка onunload, мне интересно, повлияет ли это на это?
window.onunload = function(event){
//Do something
}