7.3.6  注销用户

7.3.6 注销用户

在本模块中,判断用户在线根据其登录状态OnLine的值,若值为1,表示用户在线;值为0,表示用户离线。所以判断用户离线只需将其OnLine值设置为0即可。当用户退出聊天室,一般有两种操作:一是关闭浏览器;二是输入网址将页面转向其他网站。两种操作都要关闭框架文件中的一个子页面。通过JavaScript或VBScript脚本,可以使页面关闭时执行相应事件。在关闭框架文件的一个子页面时,打开一个新页面,该页面仅执行更新用户状态操作,然后自动关闭。

打开发送聊天信息的Send.aspx页面,在其<Head>标记与</Head>标记之间添加以下VBScript脚本:

978-7-111-46863-9-Chapter07-37.jpg

选择在Send.aspx页面,而不是框架文件中的其他两个子页面(显示聊天信息和显示在线用户),是因为其他两个页面会定时动态刷新,这样在一定程度上可以减少对页面的影响。

以上脚本定义了Window_OnUnLoad事件,该事件在页面关闭时执行。在此事件中调用了Window.Open方法来打开一个新页面Exit.aspx,此页面即将用户的登录状态OnLine值设置为0,并自动关闭页面。

以下是Exit.aspx页面的源代码:

978-7-111-46863-9-Chapter07-38.jpg

这里仅执行两步操作,第一步是更新当前用户的登录状态OnLine的值,并清空其对应的Session变量,当前用户姓名可通过Session(“username”)来获取;第二步是调用JavaS-cript脚本的Window.Close()方法关闭当前页面。

至此,一个基本的聊天室已经构建完毕。