在Chrome和Firefox中卸载事件问题

时间:2013-02-20 09:55:07

标签: javascript google-chrome firefox javascript-events

我尝试使用unload事件,但似乎 NOT 在chrome或Firefox中工作。所以我尝试了另一种方式,问题是pagehide回调似乎永远不会调用

if ("onpagehide" in window) {
      window.addEventListener("pageshow", function(){alert("enter page")}, false);
      window.addEventListener("pagehide", function(){alert("leave page")}, false);
} else {//for IE
     window.addEventListener("load", function(){alert("enter page")}, false);
     window.addEventListener("unload", function(){alert("leave page")}, false);
}

1 个答案:

答案 0 :(得分:1)

我不确定Firefox,但Chrome会忽略来自window.onunload的所有警报。它也不会让您更改URL的任何部分,也可能更改其他内容。这可能就是为什么事件似乎没有解雇的原因。要检查它是否触发,你可以从处理程序函数返回一个字符串,这会产生其中一个字符串"你确定要离开这个页面吗?"消息框。