Maison  >  Article  >  interface Web  >  Explication détaillée de la façon dont JavaScript détermine la fermeture du navigateur et le code de capture d'événements

Explication détaillée de la façon dont JavaScript détermine la fermeture du navigateur et le code de capture d'événements

伊谢尔伦
伊谢尔伦original
2017-07-24 09:58:264026parcourir

Étant donné que le navigateur est sans état, il y aura deux situations lors de la capture de la fermeture du navigateur à ce moment :

1. Fermez vraiment le navigateur (a. Cliquez sur le bouton Fermer. b. Cliquez avec le bouton droit sur la barre des tâches pour fermer. c. Appuyez sur alt+F4 pour fermer)
2. Actualisez le navigateur.
Comment distinguer ces deux actions ?
Méthode de traitement du code Javascript :

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 souris Curseur X coordonnée
document.body.clientWidth Largeur de la zone client du formulaire
event.clientY Curseur de la souris Coordonnée Y
event.altKey Indique si la touche alt est enfoncée

Méthode de capture d'événement :

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

L'événement onbeforeunload est déclenché avant le déchargement de la page. Si l'utilisateur sélectionne "Oui", il est déterminé que le déchargement de la page déclenchera l'événement onunload, sinon la page sera renvoyée sans aucune opération. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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