Javascript检测浏览器关闭[重复]

Posted

技术标签:

【中文标题】Javascript检测浏览器关闭[重复]【英文标题】:Javascript detect browser close [duplicate] 【发布时间】:2014-02-21 05:51:56 【问题描述】:

是否可以检测浏览器是否在 javascript 中关闭?我尝试使用:

$( window ).unload(function() 
    //Code
);

和:

window.onbeforeunload = ExecuteMyCode;
function ExecuteMyCode() 
    //Code

但是当我们还点击链接、按钮时,这都会执行...我只想检测浏览器关闭事件。

【问题讨论】:

按钮?什么按钮?浏览器按钮?我认为您只能检测到用户何时离开您当前的页面/网站。不是在浏览器实际关闭时。你为什么要那样做? 我需要它在关闭之前删除我的 cookie(并且不能为 cookie 设置时间) 如果您只是将 cookie 设置为会话 cookie,那么浏览器在关闭时会自动删除这些 cookie - 您所描述的是默认行为。 如果有人正在离开您的网站(因此到新网站或关闭标签/浏览器),您可以通过beforeunload 检查。比你可以删除你的cookie。 @putvande 你是怎么做到的?似乎没有一种明显的方法来确定用户要去哪里。只是他们要离开了…… 【参考方案1】:

你可以试试下面的代码,它会确保你的鼠标位置在关闭按钮上,然后它会进一步执行。

window.onbeforeunload = function () 

            if (event.clientY < 0) 
                // DO YOUR STUFF BEFORE CLOSING..
            
                return "Message to display user before close.";
            

【讨论】:

clientY 在 chrome 浏览器中未定义

以上是关于Javascript检测浏览器关闭[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用于检测浏览器语言偏好的 JavaScript [重复]

在 Mobile Safari 中通过 JavaScript 检测关闭浏览器选项卡?

如何在javascript中检测浏览器选项卡是不是关闭或浏览器窗口

使用javascript检测浏览器用户[重复]

是否可以在 JavaScript 中检测 Android 和 iOS 浏览器何时关闭屏幕

关于JavaScript的内存泄露检测