浏览 13612 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-07-27
在同一个页面 1.会在每隔3秒钟 刷新 一次 连接服务器获取信息 <meta http-equiv="refresh" Content="3;url=http://192.168.1.104:8080/CWaitList?action=queryPeople"> 2.并且想在用户点击 关闭窗口 的时候 发送一个request给服务器 <body onUnload="window.open('CWaitList?action=logOut')"> 但是每一次刷新的时候 怎么都当成关闭窗口事件了 郁闷 请问大家有没有什么解决方法阿? 只要能达到功能(刷新和关闭窗口时的request发送)就行,其他方法也行. Thx. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-07-27
举个例子吧 :
auto.html <META HTTP-EQUIV="Refresh" CONTENT="5"> <body onUnload="alert("I am Closed action!")"> 运行一下就能明白了 |
|
返回顶楼 | |
发表时间:2005-07-27
solarcult 写道 我做的是一个聊天程序
在同一个页面 1.会在每隔3秒钟 刷新 一次 连接服务器获取信息 <meta http-equiv="refresh" Content="3;url=http://192.168.1.104:8080/CWaitList?action=queryPeople"> 2.并且想在用户点击 关闭窗口 的时候 发送一个request给服务器 <body onUnload="window.open('CWaitList?action=logOut')"> 但是每一次刷新的时候 怎么都当成关闭窗口事件了 郁闷 请问大家有没有什么解决方法阿? 只要能达到功能(刷新和关闭窗口时的request发送)就行,其他方法也行. Thx. 解决方案一: 让刷新的页面独立,放到隐藏的iframe或frame里面. <body onUnload="window.open('CWaitList?action=logOut')">放到主页面里. 解决方案二: 用javascript控制刷新.不要用<meta http-equiv="refresh" Content="3;url=http://192.168.1.104:8080/CWaitList?action=queryPeople"> |
|
返回顶楼 | |
发表时间:2005-07-27
solarcult 写道 2.并且想在用户点击 关闭窗口 的时候 发送一个request给服务器 <body onUnload="window.open('CWaitList?action=logOut')"> 但是每一次刷新的时候 怎么都当成关闭窗口事件了 郁闷 请问大家有没有什么解决方法阿? ie下可以这样试试 <script language="javascript"> window.onbeforeunload = function() { if((window.event.screenX - window.screenLeft) > (document.documentElement.scrollWidth-20) && window.event.clientY < 0 || window.event.altKey) { window.open('CWaitList?action=logOut'); } } </script> |
|
返回顶楼 | |
发表时间:2005-07-27
聊天程序可是ajax拿手的,为什么不借助ajax呢?
1. 不要用刷新,用xmlhttp获取新的聊天数据,通过js+dom动态显示。 2. 注销时使用 onbeforeunload,发送一个xmlhttp 请求。 |
|
返回顶楼 | |
发表时间:2005-07-27
其实问题很简单:
<body onUnload="window.open('CWaitList?action=logOut')"> 改成由按钮触发,当然,如果按"X"关闭窗体是不会logout的 |
|
返回顶楼 | |
发表时间:2005-07-29
醒来
说得不错 |
|
返回顶楼 | |
发表时间:2005-07-29
onUnload事件不是关闭窗口事件
它是指当前页面将被载出或者说失去的时候触发的,因此无论刷新还是关闭都是会触发的,并且不能阻止事件的发生。 |
|
返回顶楼 | |
发表时间:2005-07-29
TO:zkj_beyond
frame 那个方法我用了 放到frameset的上层 可以解决 就是以后传递页面的时候就再也逃脱不掉那个frameset了 第二种方法我不会 以前不是在做这方面的 我以前做手机游戏 呵呵 J2ME TO:黎明破晓前 那个函数很好用 不过能不能解释一下它的具体含义呢 if((window.event.screenX - window.screenLeft) > (document.documentElement.scrollWidth-20) && window.event.clientY < 0 || window.event.altKey) 因为有的时候 我把鼠标放到 x 上没有按 或者 放到 x 的下面和有右面 都回自动触发那个function()函数 所以希望能具体说一下 我好按照我的要求来自己改一改 TO:醒来 lanny 聊天程序可是ajax拿手的,为什么不借助ajax呢? 我以前不知道ajax 没有接触过 谢谢你的建议 我会去了解一下 TO: ben 我有写按钮触发 就是怕用户不按 呵呵 TO: swing 原来onUnload是这个意思 我以前都不知道 谢谢大家的回答 Thx a lot. |
|
返回顶楼 | |
发表时间:2005-07-31
想说一句:
如果用户不按退出就不要触发好了. 您为为了检查用户是否退出了,不断在增加检查的代码,不断增加触发的函数,同时你也不断地引进了新的bug.这样做有必要吗?还有你真的能做到了,用户关闭浏览器时触发你想要触发的事件吗?如果掉线怎么办,如果系统死机这么办. 我觉得把程序写得简单点比较好.按按钮的就主动触发,否则在server端会用timeout,帮他触发. |
|
返回顶楼 | |