在我的应用程序中,我需要在 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();
}
}
当我按下(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 window.onbeforeunload()
事件在卸载网页之前就触发了。这使我们能够确保用户确定要离开他们正在查看的页面。
通过按Alt+F4
直接关闭浏览器应用程序。如果没有窗口打开,它将提出关闭的对话框。
执行Logout Functionality
的首选方法是在您的应用程序中使用Sessions
。