关闭浏览器时无效会话,除IE外,其他浏览器无法使用。

问题描述 投票:0回答:1

当我登录到我的应用程序时,点击登录按钮后,我的应用程序将在弹出窗口中打开(浏览器弹出)。我写了javascript代码,当我点击弹出窗口的关闭按钮(X)时,我可以从应用程序中注销。只有在IE浏览器上,我才能从我的应用程序中注销。但是同样的代码在其他浏览器上却无法使用(例如:Chrome,firefox...)。

以下是我的代码片段

<script type="text/javascript">

    var valid = false;
    window.onbeforeunload = function (e)
    {
      if ((window.event.clientX < 0) || (window.event.clientY<0)) // close button
      {
            LoggedOffWindow();
      }
    }; 

    //This will remove session
    function LoggedOffWindow()
    {
        var url = '<%=request.getContextPath()%>/logoff.do';
        try {
            new Ajax.Request(url,
                {
                    method: 'get',
                    parameters: {},
                    onSuccess: function () {
                        ;
                    },
                    onFailure: function () {
                        ;
                    },
                    onException: function () {
                        ;
                    },
                    onComplete: function () {
                        ;
                    }
                });
        }
        catch (e) { alert(e.message); }
    }
</script>
javascript session onbeforeunload invalidation
1个回答
0
投票

window.event只适用于IE。

而不是这样。

 window.onbeforeunload = function (e)
    {
      if ((window.event.clientX < 0) || (window.event.clientY<0)) // close button
      {
            LoggedOffWindow();
      }
    }; 

用这个:

window.onbeforeunload = function (e)
{
 e = window.event || e; 
 if ((e.clientX < 0) || (e.clientY < 0))
 {
       LoggedOffWindow();
 }
};

EDIT: 检查这个链接以获得有用的信息。http:/www.martinrinehart.comearly-sitesmrwebsite_oldexamplescross_browser_mouse_events.html

© www.soinside.com 2019 - 2024. All rights reserved.