以下代码在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 +中工作?
希望我们的堆栈用户能帮助我。
答案 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
}