我需要在浏览器窗口关闭时调用logout function
。在Chrome中无法正常运行,而在IE和Safari中则无法运行。
我尝试了以下代码:
window.onbeforeunload = function (e) {
// Your logic to prepare for 'Stay on this Page' goes here
var evtobj = window.event ? event : e;
if (evtobj == e) {
//firefox
if (!evtobj.clientY) {
//server call
}
}
else {
//IE
if (evtobj.clientY < 0) {
//server call
}
}
//return "Please click 'Stay on this Page' and we will give you candy";
};
我尝试了其他几种方法,但是它们没有用。请告知。
答案 0 :(得分:1)
您的设计有问题,您不应依赖客户端挂钩执行注销。有十亿个原因导致该事件无法执行。只需限制onbeforeunload
事件以执行信息内容而不是执行关键操作即可。
顺便说一句:
beforeunload
事件!这会在IE中造成一些问题window.sessionStorage
创建一些数据,直到用户关闭标签为止