2015-09-25 47 views
2

我想在用戶不從應用程序手動註銷時插入註銷時間戳,即如果用戶關閉瀏覽器而不從系統註銷,系統應該註銷瀏覽器關閉事件或任何其他解決方案使用jQuery,Ajax和PHP來做同樣的事情是受歡迎的。我嘗試下面的代碼:在瀏覽器上調用ajax關閉,而不是url更改

<script type="text/javascript"> 
     window.onbeforeunload = function() { 
      $.ajax 
      ({ 
       url: 'logout.php', 
       data: "", 
       type: 'post', 
       success: function() 
       { 
        ..... 
       } 
      }); 
     } 
</script> 

但window.onbeforeunload()函數是伐木我出去每次在WebKit瀏覽器如Chrome的URL變化,因爲它的特性。我需要一些跨瀏覽器解決方案。我在這個問題上看到了各種關於stackoverflow的que-ans,但我找不到任何解決方案幫助我解決這個問題。

而且我還需要提及的是,在logout.php中,我使用會話終止的代碼並在數據庫中插入查詢以及註銷的時間戳。

+0

那是因爲當用戶移動到下一頁時,您的站點中的每個頁面都會被卸載! DUH! – RiggsFolly

+1

我可能會弄錯了,如果我這樣做,請糾正我,但如果在關閉後沒有瀏覽器,應如何查看顯示在瀏覽器範圍內的任何內容? –

+0

我不知道。您可能是對的,但必須有某種方式,以便如果用戶不手動註銷,並且我需要一些代碼(在我的情況下用logout.php編寫代碼)來運行,以便數據庫沒有註銷日期值。 @AlanMachado –

回答

0

我想建議下面的代碼爲瀏覽器關閉ajax調用。

<script type="text/javascript"> 
    window.onbeforeunload = function() { 

     var ticketId = $('#ticketId').val(); 
     $.ajax({ 
      url: '/ticket-window-close/'+ticketId, 
      type: 'GET', 
      async: false, 
      timeout: 10000 
     }); 
    }; 
</script>