下面的代码在 IE8 中运行良好。
这是我的代码:
window.onbeforeunload = function () {
return "Are you sure want to LOGOUT the session ?";
};
window.onunload = function () {
parent.logout();
};
但在 IE9+ 中
window.onbeforeunload
有效,我收到警报。
但是
window.onunload
不起作用。
我还尝试了
Group Policies in Internet Explorer 9
来启用Allow Internet Explorer 8 Shutdown Behavior
。作为参考,单击此处
如何让
window.onunload
在IE9+中工作?
希望我们的堆栈用户能够帮助我。
不知道为什么它不适合你,因为我很确定所有 IE 浏览器都支持它。
尝试这种方法,总体来说可能更好:) https://developer.mozilla.org/en-US/docs/Web/Reference/Events/unload?redirectlocale=en-US&redirectslug=DOM%2FMozilla_event_reference%2Funload
我将冒险猜测您的
parent.logout()
方法对您的服务器执行异步请求。如果是这种情况,那么无论如何,您的里程可能会因浏览器而异,因为大多数浏览器可能会在页面卸载时取消任何不完整的请求。
一种选择是使用同步请求,但这些通常不利于可用性,并且当服务器返回响应的时间比平时更长时会导致沮丧。
我也有同样的问题,仅在 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
}