In JavaScript, wenn das beforeunload-Ereignis ausgeführt wird und die Warnmeldung angezeigt wird, ist es möglich, Informationen darüber zu erhalten, welche Schaltfläche angeklickt wurde?So unterscheiden Sie zwischen "Auf Seite bleiben" und "Seite verlassen"
0
A
Antwort
1
Sie können dies leider nicht direkt tun, da onbeforeunload
den Browser auffordert, den Dialog zu erstellen und Ihnen den Rückgabewert nicht mitteilt, aber Sie können eine globale Variable verwenden, die Sie im Ereignis setzen und zum Beispiel über setInterval
überprüfen .
var confirmUnload = false;
window.addEventListener("beforeunload", function(event) {
confirmUnload = true;
event.returnValue = "Really leave?";
});
window.addEventListener("unload", function(event) {
console.log("User left");
});
setInterval(function(){
if(confirmUnload) {
confirmUnload = false;
setTimeout(function() {
console.log('Still here');
}, 500);
}
}, 400);