2013-08-01 57 views
0

人們,我怎麼知道用戶何時更改地址並離開頁面? 我正在使用JSF 1.2,我的老闆想要這個小功能,就像他在頁面上,然後他把其他地址ctrl + L然後www.foo.com,當他回到頁面時,會話仍然有效他不需要通過登錄屏幕,當這個事件發生時如何失效?如何在用戶離開jsf頁面時使會話失效?

+1

這是無法完成的,因爲您的應用無法知道用戶何時將網址更改爲任何其他域。看看這裏 - http://stackoverflow.com/questions/1686687/how-can-i-get-the-destination-url-in-javascript-onbeforeunload-event獲取更多信息。 –

回答

-1

唯一的方法是將JavaScript函數綁定到<body onunload='...'>http://www.w3schools.com/jsref/event_onunload.asp)。

這裏有一個例子:

<script type="application/javascript"> 
function logout() { 
    var xhr = XMLHttpRequest(); 
    xhr.open('get', '/logout', false); 
    xhr.send(null); 
} 
</script> 
.... 
<body onunload="logout()"> ... 

這樣,當用戶闊葉頁面時,瀏覽器會發出/logout URL的請求。在服務器端,使請求/logout的任何用戶會話無效。

+0

如果用戶在當前頁面中提交表單,或者點擊指向** **網站上不同頁面的鏈接,或者將網址更改爲** ** **網站上的另一個頁面,也會運行。這不是OP所滿足的。仔細閱讀Adrian對該問題的評論中的鏈接。 – BalusC

相關問題