JavaScript 记录页面停留时间-通过测试

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无题</title>
<!--zhaoxiaoyang.cnblogs.com/-->
</head>
<body onUnload=stay()><!--//页面卸载的时候,调用stay()函数。-->
<mce:script language="Javascript"><!--
pageOpen = new Date();//定义一个新的日期对象,记录开始浏览页面时间。
function stay() {//定义一个函数。
pageClose = new Date();//定义一个新的日期对象,记录结束浏览页面时间。
minutes = (pageClose.getMinutes() - pageOpen.getMinutes()); //“分钟”变量等于结束时间的分钟数减去开始时间的分钟数。
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());//“秒数”变量等于结束时间的秒数数减去开始时间的秒数数。
time = (seconds + (minutes * 60));//时间变量等于“秒数”变量加上“分钟”变量乘以60,即变为以秒记录。
time = (time + " 秒钟");
alert('您在这儿停留了' + time + '.欢迎下次再来!');
} 
/*alert()是JavaScript的窗口对象方法,其功能是弹出一个具有OK对话框并显示()中的字符串 ,告诉在此页面停留的时间。*/
// --></mce:script>
</body>
</html>  

  实例

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 
   <mce:script src="js/JScript22.js" mce_src="js/JScript22.js" type="text/javascript"></mce:script> 
    <title></title>
</head>
<body onUnload="stay()">
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

  

pageOpen = new Date(); 


var req11="";

 var url11="InsertTime.aspx"; //要请求的服务端地址
            if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
            {
                req11=new XMLHttpRequest();
            }
            else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
            {
                req11=new ActiveXObject("Microsoft.XMLHttp");
            }
            
            if(req11) //成功创建xmlhttprequest
            {
                req11.open("GET",url11,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                req11.onreadystatechange = callback1; //指定回调函数
                req11.send(null); //发送请求
            }
  
        
        function callback1() //回调函数,对服务端的响应处理,监视response状态
        {
            if(req11.readystate==4) //请求状态为4表示成功
            {
                if(req11.status==200) //http状态200表示OK
                {
                    Dispaly(); //所有状态成功,执行此函数,显示数据
                }
                else //http返回状态失败
                {
                    alert("服务端返回状态" + req11.statusText);
                }
            }
            else //请求状态还没有成功,页面等待
            {
              //  document .getElementById ("myTime").innerHTML ="数据加载中";
            }
        }





function stay() { 
pageClose = new Date(); 
minutes = (pageClose.getMinutes() - pageOpen.getMinutes()); 
seconds = (pageClose.getSeconds() - pageOpen.getSeconds()); 
time = (seconds + (minutes * 60)); 
time = (time + " 秒钟");
alert('您在这儿停留了' + time + '.欢迎下次再来!');



var req="";

 var url="OutTime.aspx"; //要请求的服务端地址
            if(window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
            {
                req=new XMLHttpRequest();
            }
            else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
            {
                req=new ActiveXObject("Microsoft.XMLHttp");
            }
            
            if(req) //成功创建xmlhttprequest
            {
                req.open("GET",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                req.onreadystatechange = callback; //指定回调函数
                req.send(null); //发送请求
            }
  
        
        function callback() //回调函数,对服务端的响应处理,监视response状态
        {
            if(req.readystate==4) //请求状态为4表示成功
            {
                if(req.status==200) //http状态200表示OK
                {
                    Dispaly(); //所有状态成功,执行此函数,显示数据
                }
                else //http返回状态失败
                {
                    alert("服务端返回状态" + req.statusText);
                }
            }
            else //请求状态还没有成功,页面等待
            {
              //  document .getElementById ("myTime").innerHTML ="数据加载中";
            }
        }

} 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class InsertTime : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SysCommon.DbSql.ExecuteSql("insert into usertable (username) values ('1')");
        }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class OutTime : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SysCommon.DbSql.ExecuteSql("insert into usertable (username) values ('2')");
        }
    }
}

  

  

原文地址:https://www.cnblogs.com/puzi0315/p/4204806.html