In meinem Projekt muss ich schließen Ereignis im Browser über Web, Server und Datenbank befassen sich mit den Informationen, wenn Benutzer abmelden. Ich weiß nicht, wie man das Ereignis abfängt und das Close- und Refresh-Ereignis unterscheidet.wie das Ereignis zu fangen und zu unterscheiden schließen und aktualisieren Ereignis
habe ich versucht, diesen Code:
window.onbeforeunload = function() {
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey) {
alert("close event");
}else{
alert("refresh event");
}
}
Aber es fängt nur das Refresh-Ereignis. Gibt es einen besseren Weg, um das Problem zu lösen?
Außerdem habe ich die How to differentiate browser close and refresh events in Chrome? gelesen, aber es gibt mir die Antwort nicht.
Ich versuche, Sie Code zu verstehen. Wenn die Maus sich also außerhalb des Fensters befindet oder die Alt-Taste gedrückt wird, ist das ein nahes Ereignis? – 4castle
Ich könnte falsch liegen, aber ich würde erwarten, dass Sie nicht den Unterschied zwischen einer Aktualisierung und einem Urlaub unterscheiden können. Was diese Seite betrifft, gehen Sie so oder so, ob Sie zurückkommen, ist der Seite zum Zeitpunkt des Verlassens fast sicher unbekannt. – DBS