onunload和window.onunload在Firefox、Safari和Opera

onunload和window.onunload在Firefox、Safari和Opera中不起作用?

在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认。

所以我用了window.onbeforeunload确认警报和window.onunload用于注销()。

  1. 但这两种功能都在IE和Chrome中工作。(应用程序工作正常)

  2. window.onbeforeunload没有在Opera中工作,我的消息将不会显示在Firefox中。

  3. 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>


海绵宝宝撒
浏览 445回答 3
3回答

三国纷争

以下是IE、Firefox和Chrome的工作解决方案:var&nbsp;myEvent&nbsp;=&nbsp;window.attachEvent&nbsp;||&nbsp;window.addEventListener;var&nbsp;chkevent&nbsp;=&nbsp;window.attachEvent&nbsp;?&nbsp;'onbeforeunload'&nbsp;:&nbsp;'beforeunload'; &nbsp;///&nbsp;make&nbsp;IE7,&nbsp;IE8&nbsp;compitable &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myEvent(chkevent,&nbsp;function(e)&nbsp;{&nbsp;//&nbsp;For&nbsp;>=IE7,&nbsp;Chrome,&nbsp;Firefox &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;confirmationMessage&nbsp;=&nbsp;'Are&nbsp;you&nbsp;sure&nbsp;to&nbsp;leave&nbsp;the&nbsp;page?';&nbsp;&nbsp;//&nbsp;a&nbsp;space &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(e&nbsp;||&nbsp;window.event).returnValue&nbsp;=&nbsp;confirmationMessage; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;confirmationMessage; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});

慕后森

我找到了解决办法onunload在除Opera之外的所有浏览器中,通过将Ajax异步请求更改为同步请求。xmlhttp.open("POST","LogoutAction",false);它适用于除浏览器之外的所有浏览器。歌剧.
打开App,查看更多内容
随时随地看视频慕课网APP