2012-09-04 67 views
1
<script type="text/javascript"> 
     var sessionID = getQuerystring('SessionID'); 
     var cookieSessionID = getCookie('session'); 
     var validNavigation = false; 

     function endSession() { 
      setCookie('session', sessionID, 1); 
      var cookieSU = getCookie('session'); 
      if (cookieSU != null) { 
       getSyncData('strSessionId=' + sessionID, 'UpdateUserLogoutSession'); 
      } 
     } 

     function wireUpEvents() { 
      window.onbeforeunload = function() { 
       if (!validNavigation) { 
        endSession(); 
       } 
      } 


      $('document').bind('keypress', function (e) { 
       if (e.keyCode == 116) { 
        validNavigation = true; 
       } 
      }); 

      $("a").bind("click", function() { 
       validNavigation = true; 
      }); 

      $("form").bind("submit", function() { 
       validNavigation = true; 
      }); 

      $("input[type=submit]").bind("click", function() { 
       validNavigation = true; 
      }); 

     } 

     $(document).ready(function() { 
      if (cookieSessionID == null || cookieSessionID != sessionID) { 
       // Do nothing 
      } else { 
       if (cookieSessionID == sessionID) { 
        getData('strSessionId=' + sessionID, 'UpdateUserResetSession', function (result) { 
         if (result['Exception']) { }; 
        }); 
       } 
      } 
      wireUpEvents(); 
     }); 

     function setCookie(c_name, value, exdays) { 
      var exdate = new Date(); 
      exdate.setDate(exdate.getDate() + exdays); 
      var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); 
      document.cookie = c_name + "=" + c_value; 
     } 
     function getCookie(c_name) { 
      var i, x, y, ARRcookies = document.cookie.split(";"); 
      for (i = 0; i < ARRcookies.length; i++) { 
       x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); 
       y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); 
       x = x.replace(/^\s+|\s+$/g, ""); 
       if (x == c_name) { 
        return unescape(y); 
       } 
      } 
     } 
    </script> 

嗨不工作我打電話onbefore卸載在Firefox這裏

UpdateUserLogoutSession 

window.onbeforeunload 

事件... 現在的問題是在IE瀏覽器和Chrome這個偉大工程。 。但它不適用於Firefox瀏覽器... 此功能識別頁面是刷新還是關閉........ 所以我想用

UpdateUserResetSession 

上的刷新事件和密切

UpdateUserLogoutSession 

..!

有沒有辦法在Firefox中做到這一點? 爲什麼它不工作? 一件事....如果我把

alert("hi"); 

setCookie('session', sessionID, 1); 
      var cookieSU = getCookie('session'); 
      if (cookieSU != null) { 
       getSyncData('strSessionId=' + sessionID, 'UpdateUserLogoutSession'); 
      } 

它只是工作great..but當我嘗試不alert..it不工作?

最新問題?

+0

我有同樣的問題,只有當我要麼添加提醒它並沒有爲我工作 –

回答

1

您是否嘗試添加「返回」示例「;」而不是警報?它在處理警報方面是否做同樣的事情?或者根本沒有做同樣的事情?

0

我有這個同樣的問題,這是最終爲我工作(使用jQuery):

$(window).bind('beforeunload', function(){ 

});