在浏览器关闭事件

时间:2010-08-27 03:45:46

标签: javascript html

我需要浏览器关闭事件的帮助。我看到了一个教程,但它并不适用于所有浏览器。我需要一个适用于所有浏览器的JavaScript解决方案。我的目的是在浏览器关闭时删除PHP会话。

3 个答案:

答案 0 :(得分:3)

您可以使用window.onunload查看用户是在离开页面/关闭窗口还是关闭标签页。

但是没有办法真正找出用户是否离开了您的网站。他可能仍然打开另一个标签或窗口。

因此,您唯一真正的解决方案是检查自该用户上次活动以来经过了多长时间。如果必须实时发生,你可以添加类似ajax的回调来每分钟左右轮询一次服务器,以确保用户仍然打开了他的窗口。

答案 1 :(得分:2)

如果您只想在实际的BROWSER关闭时触发某些内容,而不仅仅是在发生页面加载时触发,您可以使用以下代码:

window.onbeforeunload = function (e) {
        if ((window.event.clientY < 0)) {
            //window.localStorage.clear();
            //alert("Y coords: " + window.event.clientY)
        }
};

在我的示例中,我正在清除本地存储并使用mouses y coords向用户发出警报,只有在浏览器关闭时,才会在程序中的所有页面加载中忽略这一点。

答案 2 :(得分:1)

<script language=”javascript”>

function deleteSession(){
 // session deletion
}

window.onbeforeunload = deleteSession;
</script>