Detect Browser Close on Asp.net

前端 未结 3 673
余生分开走
余生分开走 2020-12-03 03:57

I want to do some functionality on log-out, if the user directly closed his browser then same functionality want to do, we can not do on page unload because there are more

相关标签:
3条回答
  • 2020-12-03 04:41

    Isn't this what Session_OnEnd in global.asax is for?

    This event isn't triggered when the browser is closed.

    0 讨论(0)
  • 2020-12-03 04:47

    You can have a button for the "logout" case.

    Unfortunately, there is no reliable way to be notified if the user closes their browser. Other than client-side page unload, which you've said you don't want, about the only other option is periodic Ajax-based polling; both are ugly and notoriously unreliable.

    In general, server-side timeouts are a better approach.

    0 讨论(0)
  • 2020-12-03 04:50
    <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>
    

    Call the logout.aspx when window closes using javascript + jquery. Do whatever you want to do in the logout.aspx page load event.

    The above snippet will have to be added in your master page's html.

    0 讨论(0)
提交回复
热议问题