Das Prinzip besteht darin, die Größe des Browserfensters zu diesem Zeitpunkt durch die Auslösezeit beim Verlassen der Seite zu ermitteln. Anhand der Größe kann beurteilt werden, ob der Benutzer das Verhaltensprogramm aktualisiert, springt oder schließt
Der Code lautet wie folgt:
window.onunload = function(){ var a_n = window.event.screenX - window.screenLeft; var a_b = a_n > document.documentElement.scrollWidth-20; if(a_b && window.event.clientY< 0 || window.event.altKey){ alert('关闭页面行为'); }else{ alert('跳转或者刷新页面行为'); } }
Er funktioniert gut, wenn Sie die Schaltfläche „Schließen“ in der oberen rechten Ecke des Browsers verwenden, funktioniert aber nicht. Funktioniert nicht beim Schließen einer Registerkarte oder beim Schließen der Taskleiste. Das js-Tag hat nur das Ereignis „onloadonunloadonbeforeunload“, aber kein Ereignis „onclose“.
Das onunload-Ereignis wird unabhängig davon ausgeführt, ob die Seite geschlossen oder aktualisiert wird.
Wie erfasst man das Schließen der Seite?
Onload wird ausgeführt, wenn die Seite geladen wirdOnunload wird nur ausgeführt, wenn die Seite geschlossen wird
Onbeforeunload wird zuerst ausgeführt, dann onunload und schließlich wird onload ausgeführt, wenn die Seite aktualisiert wird.
Auf diese Weise können wir eine Markierung in onbeforeunload hinzufügen und die Markierung in onunload beurteilen, um festzustellen, ob die Seite wirklich geschlossen ist
Der Code lautet wie folgt
document.documentElement.scrollWidth-20; if(b && evt.clientY
Die obige Methode kann Multi-Tab-Browser wie 360, ie8 usw. nicht beurteilen. Schauen wir uns den
-Code unten an Wie folgt
function CloseOpen(event) { if(event.clientX<=0 || event.clientY0)&&(event.clientX < document.body.clientWidth)) { s0 += "刷新窗口!"; } else { //获取当前时间 var date=new Date(); //将date设置为过去的时间 alert("关闭网页"); date.setTime(date.getTime()-10000); //将userId这个cookie删除 document.cookie="zhuangtao;expire="+date.toUTCString(); document.cookie="quanxianzifucuan;expire="+date.toUTCString(); document.cookie="quanxian;expire="+date.toUTCString(); s0 += "关闭窗口!"; sw = 1; } } } if (sw == 1) { event.returnValue = ""; } else { currentKeyCode = -1; } }
Das oben Genannte kann nur nicht verwendet werden und die Taskleiste ist geschlossen, was im Wesentlichen unseren Anforderungen entspricht.
Der obige Inhalt ist das in diesem Artikel eingeführte Javascript, um festzustellen, ob die Webseite geschlossen oder aktualisiert ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!