Maison >interface Web >js tutoriel >Comment capturer l'événement de fermeture de fenêtre en javascript
Comment capturer l'événement de fermeture de fenêtre avec JavaScript : 1. Utilisez JavaScript pour redéfinir l'événement [window.onbeforeunload()] 2. Ajoutez l'événement onUnload à la balise body.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.
Méthode Javascript pour capturer l'événement de fermeture de fenêtre :
1. Utilisez Javascript pour redéfinir l'événement window.onbeforeunload()
Définissez simplement une fonction en javascript function window.onbeforeunload() { alert("Fermer la fenêtre")} l'événement alert() sera exécuté avant la fermeture de la fenêtre, vous pouvez également l'utilisateur décide s'il doit fermer la fenêtrefunction window.onbeforeunload() { if (event.clientX>document.body.clientWidth && event.clientY<0 ||event.altKey) window.event.returnValue="确定要退出本页吗?"; }
2. Utilisez la méthode onUnload
pour ajouter l'événement onUnload à la balise bodybody onUnload="myClose()"puis définir la méthode myClose() Mais la méthode onUnload est exécutée après la fermeture de la fenêtre, pas avant la fermeture de la fenêtre. Si vous souhaitez porter un jugement avant de fermer la fenêtre, veuillez utiliser la première méthode
les deux ci-dessus Pour que la méthode puisse fermer la fenêtre avec succès, la fenêtre doit être une nouvelle fenêtre indépendante si elle est basée sur une fenêtre parent, elle ne peut pas être fermée ;
<!doctype html> <html> <head> <meta charset="utf-8"> <title>导出数据</title> <script type="text/javascript"> if(top.location != self.location ) { top.location = self.location; } var time = 5; //时间,秒 function Redirect() { //window.location = "http://www.cssue.com/"; window.opener=null; window.open('','_self'); window.close(); } var i = 0; function dis() { if( i > time ) { Redirect(); } document.all.t.innerHTML = "还剩<span style='color:red'>" + (time - i) + "</span>秒,本页面将自动关闭"; i++; } timer = setInterval('dis()', 1000); //显示时间 timer = setTimeout('Redirect()', time * 1000); //跳转 </script> </head> <body > <div style="text-align:center;margin-top:5%"> <h1> <div id="s">Sorry ! 您输入的信息在服务器中无法找到</div> <div id="t"></div> </h1> </div> </body> </html>Recommandations d'apprentissage gratuites associées :
Tutoriel vidéo javascript
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!