在Asp.net上检测浏览器关闭

时间:2009-12-01 06:49:45

标签: c# asp.net javascript

我想在注销时做一些功能,如果用户直接关闭了他的浏览器,那么相同的功能想要做,我们不能在页面卸载,因为我的网站有超过100页,因为这将工作从每个页面重定向

谢谢

3 个答案:

答案 0 :(得分:15)

<script type="text/javascript">
var closing = true;
$(function () {
    $("a,input[type=submit]").click(function () { closing = false; });
    $(window).unload(function () {
        if (closing) {
            jQuery.ajax({ url: "http://localhost:49591/Account/LogOff", async: false });
        }
    });
});
</script>

使用javascript + jquery关闭窗口时调用logout.aspx。在logout.aspx页面加载事件中执行任何操作。

上述代码段必须添加到母版页的html中。

答案 1 :(得分:7)

您可以使用“退出”案例按钮。

不幸的是,如果用户关闭浏览器,则没有可靠的通知方式。除了客户端页面卸载,你说你不想要,关于唯一的其他选择是定期基于Ajax的轮询;两者都是丑陋的,而且出了名的不可靠。

通常,服务器端超时是一种更好的方法。

答案 2 :(得分:1)

这不是global.asax中的Session_OnEnd用于什么?

浏览器关闭时不会触发此事件。

相关问题