在我的聊天应用程序中,我需要在关闭应用程序时得到用户的确认。
因此,我使用window.onbeforeunload进行确认提醒,并使用window.onunload进行确认提醒logout()

  • 但是这两个功能都可以在IE和Chrome中使用。 (申请工作正常)
  • window.onbeforeunload在Opera中不起作用,我的消息也不会在Firefox中显示。
  • window.onunload在Safari,Opera和Firefox中不起作用。

  • 我的JavaScript代码将是:
    // Used for confirmation, to closing the window
    window.onbeforeunload = function () {
    
        return  "Are you sure want to LOGOUT the session ?";
    };
    
    // Used to logout the session, when browser window was closed
    window.onunload = function () {
    
        if((sessionId != null)&&(sessionId!="null")&& (sessionId != ""))
            logout();
    };
    
    我也尝试过使用JQuery同样的功能,
    <script type="text/javascript">
    
        $(window).on('beforeunload', function() {
            return 'Are you sure want to LOGOUT the session ?';
        });
    
        $(window).unload(function() {
            if ((sessionId != null) && (sessionId != "null") && (sessionId != "")) {
                logout();
            }
        });
    
    </script>
    

    最佳答案

    不幸的是,这些浏览器不支持您使用的方法。为了支持我的回答(这种不支持的行为),我在下面提供了链接。
    onbeforeunloadonunloadopera中不起作用...以支持此功能



    尽管onunload事件无法完全起作用,但是如果用户单击链接以导航到未保存表单的页面,则可以使用onunload显示警告。
    onunload无法在safari中工作...以支持此功能



    您宁愿尝试在Safari浏览器中使用pagehide事件代替onunload
    onunload无法在firefox中工作...以支持此功能



    他们还没有想出FF的解决方案

    祝你好运。

    08-08 03:37