在这里让我们一起学习,一起提高!
“如何在用户在关闭所有页面时就注销登录”,想想可以通过一个JS来实现!
当用户正常关闭,或者离开当前系统时会触发一个客户端事件:window.onclose();
在onclose() 这个事件中就可以弹出一个窗口注销当前的用户。
window.open(“logout.aspx”,"logout","status=no,scrollbars=no,resizable=no,width=1,height=1,left=10000,top=10000");
而有人想用document的 onUnLoad()事件,那是针对document对象的。所以点击页面上的任何连接都会出触发事件。
但是刚才的window.close() 方法 在刷新页面的时候也会触发,所以这个方法不大好,最后找到这样一个方法
<script>
window.onunload = function(){if(self.screenTop>9000)alert('Closed.')}
</script>
好象只有在IE里可以,其他浏览器有兼容性问题
当用户正常关闭,或者离开当前系统时会触发一个客户端事件:window.onclose();
在onclose() 这个事件中就可以弹出一个窗口注销当前的用户。
window.open(“logout.aspx”,"logout","status=no,scrollbars=no,resizable=no,width=1,height=1,left=10000,top=10000");
而有人想用document的 onUnLoad()事件,那是针对document对象的。所以点击页面上的任何连接都会出触发事件。
但是刚才的window.close() 方法 在刷新页面的时候也会触发,所以这个方法不大好,最后找到这样一个方法
<script>
window.onunload = function(){if(self.screenTop>9000)alert('Closed.')}
</script>
好象只有在IE里可以,其他浏览器有兼容性问题
前段时间,一直在做web项目,总是出现一个问题:用户输入了一些内容后,不小心关掉了浏览器窗口,或是跳转到了其它页面,没有任何的提示,但是数据就没有了,其实跳转还好办,难就难在关闭浏览器时要给出一个提示,很是头痛,上网查了很多东东,但都没有结果,,很是郁闷。
今天无意识的在关闭一篇没有写完的随笔时,突然发现有“如果不保存就会丢失内容”的提示。很是激动。就查看了原文件,虽然很多乱码,但好在还有一部分可读的,终于让我发现了onbeforeunload事件 ,,很是开心。在BlogJava中,它是这样用的:
今天无意识的在关闭一篇没有写完的随笔时,突然发现有“如果不保存就会丢失内容”的提示。很是激动。就查看了原文件,虽然很多乱码,但好在还有一部分可读的,终于让我发现了onbeforeunload事件 ,,很是开心。在BlogJava中,它是这样用的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Confirm Before Leave</title>
<script language="javascript" type="text/javascript">
<!--
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
//--></script>
</head>
<body onload="ShowConfirmClose(true);">
<input type=button value="提示" onclick="ShowConfirmClose(true);">
<input type=button value="不提示" onclick="ShowConfirmClose(false);">
<input type=button value="测试刷新" onclick="window.location.reload();">
</body>
</html>
<html>
<head>
<title>Confirm Before Leave</title>
<script language="javascript" type="text/javascript">
<!--
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
//--></script>
</head>
<body onload="ShowConfirmClose(true);">
<input type=button value="提示" onclick="ShowConfirmClose(true);">
<input type=button value="不提示" onclick="ShowConfirmClose(false);">
<input type=button value="测试刷新" onclick="window.location.reload();">
</body>
</html>
注:三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
用法:
object.onbeforeunload = handler <element onbeforeunload = “handler” … ></element> 描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。
用法:
object.onbeforeunload = handler <element onbeforeunload = “handler” … ></element> 描述:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。