html body onunload,html页面的onunload、onbeforeunload

这段代码实现了一个JavaScript函数getBO,用于在用户关闭或刷新网页时进行确认提示,并根据用户操作执行相应的操作,如收藏页面或退出登录。在主窗口加载时,将用户设置为在线状态,而在窗口关闭前,通过AJAX调用后台接口更新用户为离线状态。代码考虑了IE和Firefox浏览器的兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function getBO()     {

ret = confirm("你是否要关闭窗口");

if(ret)

{

ret1 = confirm("你是否要收藏页");

if(ret1)

{

external.addFavorite('网址','收藏名称')

}

this.close();

}

}

//必须写在script内,如果body onload =...    οnbefοreunlοad=...,firefox好像不起作用

window.οnbefοreunlοad=function(){alert('before unload');} //ie firefox

window.οnunlοad=function(){alert('kk');}; //ie

附最终代码:

//主窗体加载,需要记录在线标志。因为在主窗体可能刷新,可能关闭窗口。     //如果刷新,此时也会执行beforeunload时导致用户离线,因此onload中要将用户置为在线     window.οnlοad=function()     {         //alert("onload");         //关闭窗体时才退出登录;刷新按钮,不能退出         $.ajax({           type:"POST",           url:"oa_sys_manage",           data:"type=online",           dataType:"",           async:false,           success:function(data){               //alert('已重新登录!');               ;//           }         });            }          //主窗体关闭事件处理  退出登录     window.οnbefοreunlοad=function(event)  //ie firefox     {         var evt=event?event:window.event;         //alert(evt);         //alert('before unload');         var isIE=document.all?true:false;         if(isIE)         {             alert('ie beforeunload');             var a_n = evt.screenX - window.screenLeft;             //alert(a_n);             var a_b = a_n >document.documentElement.scrollWidth-20;             //alert(a_b);             if(a_b && evt.clientY<0 || evt.altKey)             {                 alert('关闭页面行为');                 //关闭窗体时才退出登录;刷新按钮,不能退出                 $.ajax({                   type:"POST",                   url:"oa_sys_manage",                   data:"type=offline",                   dataType:"",                   async:false,                   success:function(data){                       //alert('已安全退出系统!');                       ;//                   }                 });                        }             else             {                //alert('跳转或者刷新页面行为');             }            }         else         {             alert('firefox beforeunload');             //关闭窗体时才退出登录;刷新按钮,不能退出             $.ajax({               type:"POST",               url:"oa_sys_manage",               data:"type=offline",               dataType:"",               async:false,               success:function(data){                   //alert('已安全退出系统!');                   ;//               }             });         }          }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值