asp.net关闭网页

xnnegghuangwen 2010-09-16 04:27:34
用asp.net做个web项目有个功能要记录用户登录和退出时间,如果用户点击退出那可以获取到当前时间保存到数据库,要是用户直接关闭网页的话 该如何获取呢?
...全文
2262 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianshao810 2010-09-16
  • 打赏
  • 举报
回复
要不这样吧。。。你在每一个页面底部放一个ajax方法(每隔多少时间就请求一次),判断登录用户是否在线,每判断一次就更新一次数据库,最后登录时间是当前时间,最后离开时间是当前时间加5分钟,这样的话如果用户断电或者其他问题的话,就当他最后(登录时间+5分钟)为退出时间啦。
如果他点击退出的时候那就简单,直接更新数据库
flyerwing 2010-09-16
  • 打赏
  • 举报
回复
window.opner=null;
window.top.close();
wuyq11 2010-09-16
  • 打赏
  • 举报
回复
记录用户登录日志
ajax轮询判断session修改登录状态
function RunOnBeforeUnload()
{ }
<body onbeforeunload="RunOnBeforeUnload();">
通过AJAX修改数据
wenblue7 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zc19860213 的回复:]
//非法关闭调用的方法
function FF_Close() {
window.onbeforeunload = function() {
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth - 20;
if (b &……
[/Quote]
上面两个方法你都不满意的话,就用效率比较低的方法Ajax每隔一个时间段写入一下时间,这样就算是意外情况关闭也可以将时间误差减小到最小话,如果你设时间段为两秒,那么最多就两秒的误差
zc19860213 2010-09-16
  • 打赏
  • 举报
回复
//非法关闭调用的方法
function FF_Close() {
window.onbeforeunload = function() {
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth - 20;
if (b && window.event.clientY < 0 || window.event.altKey) {
//这里你要处理的代码
}
}
}
AsheBin 2010-09-16
  • 打赏
  • 举报
回复
真的不好获取,只能尽力而为了。
在用户关闭IE的时候,可以在客户端页面的onbeforeunload事件里面向服务器发送一个登出的请求,然后处理登出的逻辑。

如果是断电之类的没办法了。只有在服务器那边Session过期的时候触发一个事件。好像有Session_End事件。
先说这么多,自己再看看吧。
xiekai12342010 2010-09-16
  • 打赏
  • 举报
回复
这个 不好获取吧!
tyang258 2010-09-16
  • 打赏
  • 举报
回复
onUnload 这个事件
q107770540 2010-09-16
  • 打赏
  • 举报
回复
这个没法获取
情况太多了
比如电脑突然断电
系统重启
yhdkzy 2010-09-16
  • 打赏
  • 举报
回复
帮你顶呀

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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