Я хочу, чтобы браузер начал прослушивать отмену окна после нажатия кнопки и удалил прослушиватель после завершения задачи.
$(button).click(function(){
//listen for clicking cancel button (or reload or go back)
//do something
//done
//stop listening
})
Однако я не могу этого сделать, поскольку это похоже на только определенные задачи c вызывают событие beforeunload
. Я пробовал почти все, что связано с window.beforeunload
, но, похоже, у меня это не работает. Есть ли еще что-нибудь, что я могу попробовать использовать js
jquery
chrome/browser API
? Большая часть уже запрошенных решений либо устарела, либо не работает. Вот что я уже пробовал!
//1
window.addEventListener('beforeunload',()=>{return 'a'})
window.dispatchEvent(new Event('beforeunload'))
window.unload(); //with and without this
//2
function beforeunload(){
return "ja";
}
if(window.attachEvent){
window.attachEvent('onbeforeunload', beforeunload);
}else if(window.addEventListener){
window.addEventListener('beforeunload', beforeunload, true);
}
//3
function myConfirmation() {
return 'Are you sure?';
}
window.onbeforeunload = myConfirmation;
//4
$(window).on('beforeunload', function(){
return 'Are you sure you want to quit?'
});