2013-08-01 58 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

相关问题