我需要解决的问题是:
为了防止多人登陆,我在数据库表中设置了一个字段online,问题出来了,用户退出时的session问题和online字段修改问题
1:如果用户正常退出,这种情况是可行的,session当然销毁了。
2:用户关闭网页窗口或是关闭选项卡组(即关闭了浏览器),或是刷新时,我用的是onunload的方法,但是三者处理的不好,往往一个行一个就不行了,在IE7中用window.event.clientY<0 || window.event.altKey,当开了多个选项卡时,再关闭浏览器,就不会触发该条件下的语句,而是跟刷新一样的效果了???????这个怎么解决啊。。求帮助
多谢大家啦!!!!!!!
为了防止多人登陆,我在数据库表中设置了一个字段online,问题出来了,用户退出时的session问题和online字段修改问题
1:如果用户正常退出,这种情况是可行的,session当然销毁了。
2:用户关闭网页窗口或是关闭选项卡组(即关闭了浏览器),或是刷新时,我用的是onunload的方法,但是三者处理的不好,往往一个行一个就不行了,在IE7中用window.event.clientY<0 || window.event.altKey,当开了多个选项卡时,再关闭浏览器,就不会触发该条件下的语句,而是跟刷新一样的效果了???????这个怎么解决啊。。求帮助
多谢大家啦!!!!!!!
解决方案 »
- jquery 中的each能够使用live吗?
- 谁有extjs如何动态加载页面的js
- ※※※ 一个菜鸟眼中的js闭包 (写给初学者) ※※※
- JSValidation验证求助(急急急)
- 免费、开源、绿色、跨平台、跨浏览器的javascript调试工具
- 200分求高人改一段代码!~解决另开贴
- js循环问题
- 怎么能屏蔽掉showModalDialog或window.open 弹出窗体的“X”关闭项
- 求助:怎么在JS文件中用document.writeln语句写入含字符变量的 链接点 ???
- 打印的问题,急!!!!
- jquery如何更改iframe嵌入页面的link标签的href
- 关于js在页面被加载时执行的问题
用这个js
function close(){
if(document.body.clientWidth-event.clientX< 170&&event.clientY< 0||event.altKey)
{
alert("执行");} else{
alert("刷新或离开");
}
}
在<body onunload="close()">
在IE7里, 如果有两个以上的选项卡一起开着,然后关闭浏览器,想要得到“执行”提示,而不是“刷新或离开”
没心跳了就销毁session.
但是如果人数多了, 服务器能否承受住, 这个可得好好考虑下.
在下感谢大家啦!!!!!!!
而关闭浏览器时没有刷新时间戳就不会改变,判断一下就行了..
另外:
(document.body.clientWidth-event.clientX < 170&&event.clientY < 0||event.altKey)
这样的语句要少用
在会话结束的实际中添加销毁session变量的程序即可,如下:
sub Application_OnStart
'some code
end subsub Application_OnEnd
'some code
end subsub Session_OnStart
'some code
end subsub Session_OnEnd
'some code
'在此处添加销session变量的程序即可
end sub
var flat=0;
document.body.onkeydown=function(){
if(event.keyCode==116){
flat=1;
}
};
document.body.onunload=function(){
if(flat==1){
return false;
}
return confirm("你确定");
};
类似代码就可以了
(document.body.clientWidth-event.clientX < 170&&event.clientY < 0||event.altKey)
这句代码太牛逼了
又想了一个 这个用ie8测试了,肯定可以,没试过别的浏览器
document.body.onkeydown=function(){
if(event.keyCode==116){
document.body.onbeforeunload=null;
}
}
document.body.onkeyup=function(){
if(event.keyCode==116){
document.body.onbeforeunload=function(){
return '你确定离开';
};
}
}
document.body.onbeforeunload=function(){
return "你确定离开";
}
原来onbeforeunload和onunload是不同的, 不就是个关闭事件吗, 搞这么多名堂