Maison > interface Web > js tutoriel > JavaScript détermine si la page Web est fermée ou rafraîchie_javascript skills

JavaScript détermine si la page Web est fermée ou rafraîchie_javascript skills

PHP中文网
Libérer: 2016-05-16 15:39:38
original
2000 Les gens l'ont consulté

Le principe est de détecter la taille de la fenêtre du navigateur à ce moment-là grâce au temps de déclenchement du déchargement qui consiste à quitter le temps de comportement de la page. En fonction de la taille, il est possible de juger si l'utilisateur actualise, saute ou ferme le programme de comportement

.

Le code est le suivant

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;);   
      } 
}
Copier après la connexion

Il fonctionne bien lorsque vous utilisez le bouton de fermeture dans le coin supérieur droit du navigateur, mais ce n'est pas le cas ne fonctionne pas lors de la fermeture sur un onglet ou de la fermeture sur la barre des tâches

la balise js n'a que l'événement onloadonunloadonbeforeunload mais pas d'événement onclose.

L'événement onunload sera exécuté que la page soit fermée ou actualisée.

Comment capturer la fermeture de la page ?
Onload est exécuté lorsque la page est chargée
Onunload est exécuté uniquement lorsque la page est fermée
Onbeforeunload est exécuté en premier, puis onunload et enfin onload est exécuté lorsque la page est actualisée.

De cette façon, nous pouvons ajouter une marque dans onbeforeunload et juger la marque dans onunload pour déterminer si la page est vraiment fermée
Compatibilité plus complète avec ff

Le code est le suivant

🎜>

 document.documentElement.scrollWidth-20;
        if(b && evt.clientY
Copier après la connexion

La méthode ci-dessus ne peut pas juger les navigateurs multi-onglets, tels que 360, ie8, etc. Regardons le code

ci-dessous Comme suit

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;
    }
  
  }
Copier après la connexion

Ce qui précède seul ne peut pas être utilisé et la barre des tâches est fermée, ce qui répond fondamentalement à nos exigences.

Le contenu ci-dessus est le javascript introduit dans cet article pour déterminer si la page Web est fermée ou actualisée. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal