用于分析 web 客户端行为的。 。楼上的,你毕业设计做的是什么东东啊?

解决方案 »

  1.   

    写个伪码:大概是这样的逻辑吧。
    <script lanague="javascipt">
    var time;
    </script>
    <script for=window event="onload">
    time=new Date();
    </script>
    <script for=window event="onunload">
    var end=new Date();
    time=end-time;
    </script>
      

  2.   

    javascript用来判断用户时间停留不是很妥当。因为浏览器的很多条件让程序不能正确判断。建议使用session来控制。httpSession的getLastAccessedTime()可以取得用户的最后操作时间。
      

  3.   

    回复人:liangyirui(大头针)
    javascript用来判断用户时间停留不是很妥当。因为浏览器的很多条件让程序不能正确判断。建议使用session来控制。httpSession的getLastAccessedTime()可以取得用户的最后操作时间。欧认为这个做法还是得当得,使用session绝对的比使用script强的多,
    而且session利用的好的话,对于做出数据评估应该没有任何问题。
    建议看一下如此方面的书籍,和session支持的函数和方法。
      

  4.   

    用session把,关于时间的函数很多的,可以解决的
      

  5.   

    我也没想出来  :(关注ing~~~
      

  6.   

    用onUnload触发离开的事件
    <html>
    <title>close</title>
    <head>
    <script>
    function aa()
    {
    alert("sadfds");
    }
    </script>
    </head>
    <body onUnload="aa()">
    <input type="text"  disabled="true">
    </body>
    </html>
      

  7.   

    进入当前页时取一下时间:
    long t1=new Date().getTime();
    .
    .
    .
    退出当前页时取一下时间:
    long t2=new Date().getTime();
    .
    .
    .
    t1和t2的差就是了(毫秒数)
      

  8.   

    建立一个表 onlineUser 专门记录在线会员的状态
    username        用户名
    ip              用户IP
    theTime         用户本次操作的时间
    totalTime       停留时间 +=当前时间-theTime
    流程:
    1。设定用户的有效操作时间为30分钟
    2。用户成功登陆时,查询该表是否有该用户名,
       如果没有,则插入该用户名、用户信息与当前时间
       如果有,则更新该记录(你可以做其它的操作并达到你的要求,这里你自己去扩展)
    3。现在要做的就是,每个页面都要包含执行一个方法(做法可以很多,所有页面都INCLUDE一个页面,所有页面都包含同一个JAVABEAN并执行同一个方法),这个方法要做的就是:
       *删除onlineUser表中所有 theTime<当前时间-30分钟 的字段(超过30分钟则认为该用户不在线)
       *判断用户是否登陆(session来判断),如果是则判断该用户名是否存在于onlineUser表中,如果不存在则证明用户操作过时了,让他重新登陆,
        如果存在则更新该用户的theTime值,并依据上述的公式对totalTime进行累加  4。这样的流程可能不是最优的,只给你提供一个思路,有更好的告诉我
      

  9.   

    我上述的方法只适合于页面较多的情况,
    比如新闻网站,BBS等,
    对于相对静止的网站就麻烦一点,关键在于上述方法的执行方式和执行频率如果你希望记录用户相对静止的状态,
    比如该用户在此页面停留了多少时间,那么你可以配合JAVASCRIPT,定期的刷新此页面(可以不需要刷新整个页面,用IFRAME来做只需要刷新很小的一块区域,客户端察觉不到的)来执行上述的方法即可
      

  10.   

    IT's impossible to finish your job as you wish.The problem is server side has no way to detect the action done by user agent. If user closed your page, how do you know the current page is null?Unless you made a small applet or script to refresh thsi page in certain period.But this method does give you an accurate time and increase your payload
      

  11.   

    没有太仔细的看了一下各位的解答,不过我认为难点在于
          “离开这个页面(并不一定是关闭)时将记录的时间保存下来”
    只是说这个页面不是当前活动窗口,这个怎么捕捉。还有,我认为用onUnload触发离开的事件不好,因为那样刷新也触发事件。我认为用数据库,登陆记录个时间,退出或关闭纪录个时间,时间差为在线时间。不知道各位有什么好的意见或建议?
    学习中~~~~~~~~~~~~