Heim >Web-Frontend >js-Tutorial >JavaScript bestimmt, ob die Webseite geschlossen oder aktualisiert wird._Javascript-Kenntnisse

JavaScript bestimmt, ob die Webseite geschlossen oder aktualisiert wird._Javascript-Kenntnisse

PHP中文网
PHP中文网Original
2016-05-16 15:39:381968Durchsuche

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(&#39;关闭页面行为&#39;); 
    }else{ 
         alert(&#39;跳转或者刷新页面行为&#39;);   
      } 
}

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 wird

Onunload 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

Vollständigere Kompatibilität mit ff


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)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn