我需要通过javascript或Jquery处理浏览器关闭(通过右上角的交叉)。我找到了许多论坛或博客,他们使用onUnload or OnbeforeUnload
等方式提供解决方案。但是,无论何时页面刷新或在浏览器中返回和转发,这些事件都会被触发。
只有当用户从应用程序注销或用户关闭窗口时,我才需要使cookie过期。如果我使用onUnload或OnbeforeUnload事件,即使页面刷新或后退或前进,它们也会被触发。
任何帮助真的很感激。 感谢
答案 0 :(得分:1)
非持久性Cookie是一种解决方法。第二,在客户关闭标签之前,您可以做一些小事。 javascript detect browser close tab/close browser但是如果您的操作列表很大并且标签在完成之前关闭,那么您将无能为力。你可以尝试一下,但根据我的经验,不要依赖它。
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
});
答案 1 :(得分:0)
OnbeforeUnload可以用于此目的,一些解决。我认为你可以使用像isClose = true / false这样的标志值,当用户点击任何元素时,它应该被设为false(如果它可以接收到泡泡,则可以应用于div / body)。你可以从网上获得一些js库,并使用它们。
否则,我们需要手动监控右键单击,单击目标(如果在体内)等等。并决定,window.close()或单击关闭是导致Onbeforeunload()调用的事件。