Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript或Jquery中处理浏览器关闭(交叉)_Javascript_Jquery - Fatal编程技术网

如何在javascript或Jquery中处理浏览器关闭(交叉)

如何在javascript或Jquery中处理浏览器关闭(交叉),javascript,jquery,Javascript,Jquery,我需要通过javascript或Jquery处理浏览器关闭(通过右上角的叉)。我发现很多论坛或博客都提供了一个解决方案,使用onUnload或OnbeforeUnload等。但每当页面刷新或在浏览器中来回移动时,这些事件总是会被触发。 只有当用户从应用程序注销或用户关闭窗口时,我才需要使Cookie过期。如果我使用onUnload或OnbeforeUnload事件,即使页面刷新或后退或前进,它们也会被触发,正如我已经说过的那样 非常感谢您的帮助。 谢谢OnbeforeUnload可用于此目的,并

我需要通过javascript或Jquery处理浏览器关闭(通过右上角的叉)。我发现很多论坛或博客都提供了一个解决方案,使用
onUnload或OnbeforeUnload
等。但每当页面刷新或在浏览器中来回移动时,这些事件总是会被触发。 只有当用户从应用程序注销或用户关闭窗口时,我才需要使Cookie过期。如果我使用onUnload或OnbeforeUnload事件,即使页面刷新或后退或前进,它们也会被触发,正如我已经说过的那样

非常感谢您的帮助。
谢谢

OnbeforeUnload可用于此目的,并有一些解决方法。我认为您可以使用一个标志值,比如wasklose=true/false,当用户单击任何元素时,应该将其设置为false(如果可以接收气泡,则可以应用于div/body)。您可以从web上获得一些js库并使用它


否则,我们将需要手动监控右键单击、单击目标(如果在体内)等。。然后决定,window.close()或单击close是Onbeforeunload()调用引起的事件。

非持久性Cookie是一种解决方法。其次,你可以在客户结账前做一些小事情。但是如果你的动作列表很大,并且标签在完成之前就关闭了,那么你就无能为力了。你可以试一试,但凭我的经验,这并不重要

window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "\o/";
  /* Do you small action code here */
  (e || window.event).returnValue = confirmationMessage; //Gecko + IE
  return confirmationMessage;                            //Webkit, Safari, Chrome
});

感谢您的回复,我们能找到鼠标右键点击是在HTML正文中还是在HTML外侧触发的吗?若有,你们有任何代码、论坛或博客参考吗?同样的点击事件,你们可以在正文中写出来。现在,您可以从event对象获得keycode。使用您可以做的。感谢回复。我会落实你的建议。但现在我们使用的是非持久性cookie,所以当浏览器关闭时cookie会过期。无论如何,非常感谢。使用没有过期日期的cookie?我也需要在六小时后过期。