在window.onunload上的KIll用户会话

时间:2014-01-30 15:58:18

标签: javascript jsf

如果用户会话退出某个页面,我想杀死他们。

问题显然是 window.onunload 在chrome中无法正常工作。有没有解决这个问题,我只能在用户退出时终止会话?现在,如果用户退出,它会给他们一个提示,让他们可以选择留在页面上或离开。


客户方:

<a4j:jsFunction 
    name="killUserSession" 
    action="#{sessionController.invalidateSession()}"/>

...........

var warning = true;
window.onbeforeunload = function() { 
  if (warning) {
    return "You have not filled out the required information below.";
  }
}

window.onunload = function(){
    killUserSession();
}

function setOnloadNull(){
    console.log("Setting onload to null");
    var warning = false;
    window.onbeforeunload = null;
}

1 个答案:

答案 0 :(得分:1)

我检查了您的问题,我发现(在Chrome下)setOnLoadNull是问题的原因。

Demo fails.

但是当我禁用此方法时,onunload就像魅力一样。

Demo works.