Javascript - window.onunload在9月11日没有工作?

时间:2014-02-11 08:52:14

标签: javascript internet-explorer javascript-events

以下代码在ie8中正常工作。

这是我的代码,

window.onbeforeunload = function () {

    return  "Are you sure want to LOGOUT the session ?";
}; 

window.onunload = function () {

    parent.logout();
};

但在1e9+

window.onbeforeunload有效,我正在收到警报。

window.onunload无效。

我还尝试Group Policies in Internet Explorer 9启用Allow Internet Explorer 8 Shutdown Behavior。供参考,click here

如何让window.onunload在ie9 +中工作?

希望我们的堆栈用户能帮助我。

3 个答案:

答案 0 :(得分:0)

不确定为什么它不适合你,因为我很确定它在所有这些IE浏览器中都受支持。

尝试这种方法,总体来说可能更好:) https://developer.mozilla.org/en-US/docs/Web/Reference/Events/unload?redirectlocale=en-US&redirectslug=DOM%2FMozilla_event_reference%2Funload

答案 1 :(得分:0)

我猜测你的parent.logout()方法会对服务器执行异步请求。如果是这种情况,那么浏览器之间的里程可能会有所不同,因为大多数人可能会在页面卸载时取消任何未完成的请求。

一种选择是使用同步请求,但这些通常对可用性不利,并且当您的服务器花费比平时更长的时间来返回响应时会导致挫折。

另请参阅:Can beforeunload/unload be used to send XmlHttpRequests reliably

答案 2 :(得分:-1)

我也遇到同样的问题,仅在IE中不起作用

 @HostListener('window:unload', ['$event'])
  unloadHandler($event) {
    this.LogOut();
  }
  @HostListener('window:beforeunload', ['$event'])
  public beforeunloadHandler($event) {
    var msg = this.messageBundle['windowClosemsg']
    $event.returnValue = msg;
    return false
  }