关闭页面前提示的问题!
是这样的,一个页面,a.aspx,如果点击了右上角的关闭按钮或者以任何方式退出了浏览器,在关闭这个页面之前,要有个提示,根据提示再决定这个页面是关闭还是不关闭。并进行不同的操作。
===================================================
比如说:
a.aspx页面是一个处理考试的页面,如果想以任何方式关闭该页面(点右上角的关闭、Alt+F4等等...),则弹出一个对话框:“如果要关闭,将会作为交卷处理,确定关闭吗?”,然后此时,如果点击了是,那么就执行交卷的处理,如过点击了否,则该页面不被关闭。
请问大家,该怎么实现啊?
====================================================
目前我是这样的:在body的onbeforeunload="forceFinish(event)"
然后:
function forceFinish(oEvent)
{
//大概判断了 点击了关闭,或者alt+f4
if(oEvent.clientX>document.body.clientWidth&&oEvent.clientY<0||oEvent.altKey)
{
//方法1:
if(confirm("如果要关闭,将会作为交卷处理,确定关闭吗?"))
//交卷的处理
else
{
//alert("不关闭,返回页面!");//作为一个标志显示操作是没有关闭。
//??
}
//方法2:
return "如果要关闭,将会作为交卷处理,确定关闭吗?";
}
//否则的话,就可能是刷新或者回发了该页面而不是关闭该页面。
else{}
}
其中方法1和方法2 都有问题:
方法1:确定关闭该页面没问题,该页面可以关闭并进行交卷处理,关键是如果选择了否,也就是不关闭,那么显示了不关闭,返回页面后,还会将该页面关闭,而如果在后面加上 return 的话,那又会出现一个提示框:“确实要离开该页面吗?....按确定继续,按取消留在当前页面”这个再次弹出来的提示框是从哪儿来的啊?可不可以将它取消了?
方法2: 直接弹出那个:“确实要离开该页面吗?....按确定继续,按取消留在当前页面”提示框,点确定或者取消之后都不能进行其它的处理,而我想要的是要在离开该页面后,进行交卷的操作。
请各位帮忙。谢谢。