请教关于‘onbeforeunload’的事件

wuszh1688 2010-04-14 04:02:17
<body onbeforeunload="return '退出登录将导致网络中断,是否继续?'" >
大家可以在机器上测试一下第一个RETURN会弹出什么窗口。我这弹出是:

确定要离开该页面吗?
退出登录将导致网络中断,是否继续?
按确定继续,按取消留在当前页


第一个问题:客户想,只要一行字,他要求该弹出窗口只显示:你确定要下线?


后来我改成:<body onbeforeunload="window.onbeforeunload=null;alert('你确定要下线?');">
但是,这样改了就只有:‘确定’按钮,没有‘取消’按钮了。
当然,这肯定不行啊,取消按钮也的有呀!



在这个页面里,我还有一个用户下线的按钮

<input type="button" name="loginsubmit" value="下 线" class="bottom" onClick="do_logout();return false;">
function do_logout(flg)

{


/*if(flg!="" && !confirm("你确定要下线?"))
return;*/



var con=postData("省了", "post", "uid="+uid.value);



if(con=="logout_ok")

{

window.close();

}

else

{

alert("操作失败");

}

}
第二个问题:用户下线的按钮提示语备注掉了,但是他还是一直显示windows的onbeforeunload那句提示语。有办法让它不弹出提示语句吗?
...全文
960 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
panmin231 2012-09-28
  • 打赏
  • 举报
回复
var flag = true;
function closeIt() {
if (flag) {
flag = false;
//关闭时的事件
}
}

通过这样可以避免提示两次
wuszh1688 2010-04-15
  • 打赏
  • 举报
回复
谢谢楼上的这位。其实我从网上搜了好多资料,也发现不行。
什么样的客户都能遇到,他就很在意实现这个。
因为这个,发生了些不如意
浴火_凤凰 2010-04-15
  • 打赏
  • 举报
回复
楼主的那种要求只能在退出登录的时候实现,
就是用户在单击“下线”按钮时,给他一个提示
“你确定要下线?”
单击确定则退出登录,单击取消则什么也不做。
这样的效果是可以的,
但是至于在关闭浏览器或者刷新的时候询问
“你确定要下线?”在执行操作,是去不掉
系统默认的那句提示语的。
一般情况下都是在退出登录的时候实现,很少在关闭
浏览器的时候实现。
祝福楼主,如果可以实现,请告诉我,
让我也学习一下,谢谢!!!O(∩_∩)O谢谢!!!
真哥哥 2010-04-15
  • 打赏
  • 举报
回复
if (!window.confirm("你确定要下线?")){
return;
}
wuszh1688 2010-04-15
  • 打赏
  • 举报
回复
这个不行。你可以亲自测试一下。

它会连续弹出二次窗口!!
huangyul 2010-04-14
  • 打赏
  • 举报
回复
第二个
你在window.close()后面
覆盖下onbeforeunload方法
什么也不做就可以了
window.onbeforeload=function(){}
huangyul 2010-04-14
  • 打赏
  • 举报
回复
有个这样的解决办法
<BODY onbeforeunload="javascript:logout()">
<SCRIPT LANGUAGE="JavaScript">
<!--
function logout(){
if(confirm("确定下线?")){
return true;
}else{
window.event.returnValue=false;
}
}
//-->
</SCRIPT>

但是会提示两次
期待更好的方法
lianqin7 2010-04-14
  • 打赏
  • 举报
回复
很期待解决办法出现,mark

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧