Недействительный сеанс при закрытии браузера не работает для других браузеров, кроме IE - PullRequest
0 голосов
/ 07 мая 2020

Когда я вхожу в свое приложение, после нажатия кнопки входа мое приложение откроется во всплывающем окне (всплывающем окне браузера). Я написал код 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>

1 Ответ

0 голосов
/ 07 мая 2020

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();
 }
};

РЕДАКТИРОВАТЬ: проверьте эту ссылку для получения полезной информации: http://www.martinrinehart.com/early-sites/mrwebsite_old/examples/cross_browser_mouse_events.html

...