<script type="text/javascript">
window.onbeforeunload=before;
window.onunload=after;
function before(evt)
{
var message="If you continue, your session will be logged out!";
if(typeof evt=="undefined"){
evt=window.event;
}
if(evt){
evt.returnValue=message;
}
}
function after()
{
var flex=document.${application}||window.${application};
flex.unloadMethod(); //calls the flex class containing the "unloadMethod()" which
//calls the logout.jsp that does the actually dropping of credentials
}
</script>
因此,这是我的想法:当用户点击后退,刷新,或关闭窗口,将与位于我的消息变量文本一起出现在标准onbeforeunload弹出框。 然后,如果用户点击取消,则onunload事件将不会被执行,用户将停留在当前页面。 但是,如果用户点击好吧,那么onunload事件应该断火,然后执行我的注销类。
这是发生了什么:弹出出现需要和取消按钮时也适用。 但是,如果用户点击好吧,这似乎像onunload事件太快了,我退出类执行火灾关闭,因为它从来没有记录他们。
我知道我的退出类工作,因为如果我只是叫我flex.unloadMethod在onbeforeunload,它会记录他们。
现在我已经研究这一个星期,看来我很接近,但我把东西放错了地方。 如果您有任何实例或建议,我们将不胜感激。