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‘)");
        }
    }
}

  

  

时间: 2024-12-12 00:33:43

JavaScript 记录页面停留时间-通过测试的相关文章

【温故而知新】Javascript时间效果(显示当前时间、显示当前日期、显示页面停留时间、倒计时)

1.显示当前时间 <body onload="showtime()"> <div>当前时间: <span id="clock"></span > </div> <script type="application/javascript"> function showtime()//创建函数 { var nowTime = new Date();//创建时间对象实例 var ho

如何计算站点停留时间和页面停留时间

站点停留时间(Time on Site,下文简称Ts) 和 页面停留时间(Time on Page,下文简称Tp)是用户体验分析及流量质量监控的重要指标.但是极少有人知道网站访问的平均时间(Average Time on Site)是怎么计算出来的.无论是使用竞争情报分析工具,还是某种网站分析解决方案(在网站分析解决方案中不论是WebLog还是JavaScript的标签方式获得的数据,都没几个人知道网站访问平均时间是怎么算出来的). 因此,写这篇文章就是想要解释清楚,Tp和Ts是如何计算的. 案

[测试案例]页面CPU使用率测试

1. 场景描述 测试网站某页面注册表单,该表单包含若干个文本输入框以及两个密码输入框:登录密码和确认密码.登录密码只能由数字或字母组成,并且长度在6-20个字符之间,确认密码必须与登录密码完全一致,当满足以上所有条件后,才能成功提交注册表单,否则提交时将在不符合要求的输入框右侧提示对应的错误信息. 2. 问题说明 在Chrome浏览器下对登录密码和确认密码输入框进行反复输入测试时,发现浏览器的CPU占有率会不断上升,导致页面出现卡顿.无响应的情况,但是在相同浏览器下测试其他文本输入框或在其他浏览

js记录用户在网站的浏览记录和停留时间(2)

问题:上次的代码确实解决了一部分用户访问记录的收集,但是还是存在一个问题就是 我们网站的注册 都是新页面打开的,如果用户刚进入网站就点击注册(打开了新的页面) ,我代码里用到的 onbeforeunload 就无法将用户进入的页面存储到本地了,也就是导致 访问了网站 直接点击注册的用户 无法被记录.所以这次对数据的记录方式做了拆分. 这个是上一次文章的链接:http://weber.pub/js记录用户行为浏览记录和停留时间/163.html 思路 当用户进入网站,页面加载完成的时候执行 win

javascript 获取页面高度(多种浏览器)(转)

关于获取各种浏览器可见窗口大小的一点点研究 <script> function getInfo() { var s = ""; s += " 网页可见区域宽:"+ document.body.clientWidth; s += " 网页可见区域高:"+ document.body.clientHeight; s += " 网页可见区域宽:"+ document.body.offsetWidth + " (

html javascript 简单页面 追加jQuery

对自己这两天学习html javascript的一个简单的小运用.如上图所示,一个简答的小页面,并未实现页面连接功能,只是有页面布局和事件处理.对姓名.密码.邮箱的输入格式要求,括不能为空.格式正确.长度大于6位 主要记录下自己的思路和克服的问题: 思路:页面布局完后,javascript 对页面文本框事件处理. 一丶通过window.onload() = function() {}来作为主体,表示页面加载完后运行函数. 二丶通过document.getElementById获得dom对象. 三

统计页面停留时间计算

一.页面停留时间与网站停留时间是如何计算出来的? 假设用户访问了网站的主页(Home).分析工具将这个访问者标记为一个Visit,接着这个访问者又浏览了另外两个页面(Page2和Page3),然后他离开了你的网站.如下图所示: 我们想要知道的是: Tp = 花费在一个页面上的时间 Ts = 花费在这网站上的总时间 假如这个用户从10:00开始访问网站: 对于Page2而言,访问时间是10:05-10:01,即4分钟. 接着访问者来到了Page3页面,他发现改页面无法满足他的需求或是他要找的内容已

asp.net web api 测试帮助页面建立并测试

现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方式可以建立一个帮助测试页面来帮助测试调试API接口,非常的方便. 英文原文地址: http://blogs.msdn.com/b/yaohuang1/archive/2012/12/02/adding-a-simple-test-client-to-asp-net-web-api-help-page.aspx 网上朋友的中文博客: 就会很清楚地知道如何调

JavaScript 实现页面元素(ul-li)的简单排序

JavaScript 实现页面元素(ul-li)的简单排序 html页面: <input type="button" value="show" onclick="show()" /> <ul id="ul1"> <li>4</li> <li>3</li> <li>2</li> <li>1</li> </