【发布时间】:2012-11-02 13:25:36
【问题描述】:
在我的应用程序中,我需要在 onbeforeunload() 中调用注销函数,所以我做了如下代码。
window.onbeforunload = function(){
bodyWidth = window.document.body.offsetWidth;
bodyHeight = window.document.body.offsetHeight
mouseX = window.event.clientX;
mouseY = window.event.clientY;
if((mouseX<0) || (mouseY<0) || (mouseX > bodyWidth) || (mouseY > bodyHeight)){
logout();
}
}
当我在 IE 中按下 (X) 按钮关闭窗口时,它工作正常。
但是如果我通过按 ATL+F4 关闭 IE 窗口,这不起作用。在执行logout() 函数之前,浏览器会关闭。
谁能帮我正确使用window.onbeforunload。
我什至尝试了以下功能,但它不起作用
logout=true;
window.onbeforeunload = bfunload;
window.onunload = unloadPage;
function bfunload(){
bodyWidth = window.document.body.offsetWidth;
bodyHeight = window.document.body.offsetHeight
mouseX = window.event.clientX;
mouseY = window.event.clientY;
if((mouseX<0) || (mouseY<0) || (mouseX > bodyWidth) || (mouseY > bodyHeight)){
logout=false;
logout();
}
}
function bfunload(){
if(logout){
logout();
}
}
【问题讨论】:
-
以后不要将问题的每一行都加粗。它无法帮助您获得答案。
-
这是您正在开发的高安全性网站吗?请不要将 JavaScript 用作用户系统引擎。它很容易在任何浏览器上被禁用,这使得它对于用户日志记录非常有缺陷。
标签: javascript internet-explorer javascript-events event-handling