Heim > Artikel > Web-Frontend > Ausführliche Erläuterung, wie JavaScript das Schließen des Browsers und den Ereigniserfassungscode bestimmt
Da der Browser zustandslos ist, gibt es zwei Situationen, wenn das Schließen des Browsers zu diesem Zeitpunkt erfasst wird:
1. Schließen Sie den Browser wirklich (a. Klicken Sie auf die Schaltfläche „Schließen“) b. Klicken Sie mit der rechten Maustaste auf die Taskleiste, um sie zu schließen. c. Drücken Sie Alt+F4, um sie zu schließen.
2. Aktualisieren Sie den Browser.
Wie unterscheidet man diese beiden Aktionen?
Javascript-Code-Verarbeitungsmethode:
function window.onbeforeunload() { //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) { // alert("点关闭按钮"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //用户点击任务栏,右键关闭。s或是按alt+F4关闭 else if(event.clientY > document.body.clientHeight || event.altKey) { // alert("任务栏右击关闭"); document.getElementById("hiddenForm:hiddenBtn").click(); // window.event.returnValue="确定要退出本页吗?"; } //其他情况为刷新 else { // alert("刷新页面"); } }
Event.clientX Mauscursor X-Koordinate
document.body.clientWidth Formular-Clientbereichsbreite
event.clientY Y-Koordinate des Mauszeigers
event.altKey Ob die Alt-Taste gedrückt wird
Ereigniserfassungsmethode:
<body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" > </body> <script language="JavaScript" type="text/javascript"> var DispClose = true; function CloseEvent() { if (DispClose) { return "是否离开当前页面?"; } } function UnLoadEvent() { DispClose = false; //在这里处理关闭页面前的动作 } </script>
Das onbeforeunload-Ereignis wird ausgelöst, bevor die Seite entladen wird. Wenn der Benutzer „Ja“ auswählt, wird bestimmt, dass das Entladen der Seite das onunload-Ereignis auslöst, andernfalls wird die Seite ohne irgendeine Operation zurückgegeben .
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung, wie JavaScript das Schließen des Browsers und den Ereigniserfassungscode bestimmt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!