DWR中对浏览器关闭的监控window.onbeforeunload

在使用DWR实现即时点对点聊天和广播式聊天室的功能的时候,很多用户会陆陆续续的登入登出,但是为了聊天室的兼容性和友好性,咱们又不能阻止用户的关闭浏览器动作,强制让用户使用咱们的退出按钮,所以这个时候就需要监控onbeforeunload动作了。

目前onbeforeunload这个动作W3C没有将其列入标准,这个动作的实现是靠各个浏览器厂商的功能实现,目前支持这个动作的浏览器有IE,chrome,firefox等主流浏览器,opera目前不支持,故为了适应以上浏览器js代码如下:

window.onbeforeunload = exitService;
        	
        	function exitService(e){
        		if($.browser.msie){//判断是否是IE系列浏览器
        			dwr.engine.setAsync(false);//将dwr的引擎设置为同步 
	       		CustomerServiceControll.unlogUser(userid,siteid);	
        		}else{
	       		var evt = e ? e : (window.event ? window.event : null);//适应火狐浏览器
	       		dwr.engine.setAsync(false);//将dwr的引擎设置为同步 
	       		CustomerServiceControll.unlogUser(userid,siteid);
	       		event.returnValue = "";
	       		return "";//此处是为了适应chrome浏览器,其返回与IE和firefox不同
        		}
        	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值