我做一个网站,如何能够记录登陆用户访问本网站的各个网页的网址,访问时间,停留时间?

解决方案 »

  1.   

    用ajax实现比较方便吧,写个 ajax的发送 跟踪信息数据的方法,用js在页面的load和unload事件里调用一下就行了。首先在page_load里生成一个跟踪的id,然后输出到前台html代码里 供ajax读取。cs代码:
    void page_load()
    {
       if(!IsPostBack)
       {
           //这里id的生成 自行定义,建议取guid,
           trackid =  Guid.NewGuid().ToString();                       
       }
    }aspx代码
      
     <body  onload="track('open');"  onunload="track('close');">
     <input type=hidden  runat=server  id="trackid" />
     ...
       function trackstart(action)
      {
        ...
           //把页面路径和跟踪id 以及用户行为发送到服务器端
          xmlhttp.open("GET","track.aspx?url="+ locaion.href + "&action="+action + "&trackid="+document.getElementById("trackid "),true);
          xmlhttp.send(null);
      }建立一个track.aspx页面来记录日志。
    page_load()
    {
      url = Reuest["url"];
      trackid=Request["trackid"];
      action = Request["action"];  
      tracktime  = DateTime.Now;
       
      //写入数据库表,至于怎么计算用户的停留时间,就不用我说了吧
     
    }
      

  2.   

    小更正一下,js 函数名写错了 应为
     function track(action) 
      { 
        ... 
          //把页面路径和跟踪id 以及用户行为发送到服务器端 
          xmlhttp.open("GET","track.aspx?url="+ locaion.href + "&action="+action + "&trackid="+document.getElementById("trackid "),true); 
          xmlhttp.send(null); 
      }