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')");
}
}
}
JavaScript 记录页面停留时间-通过测试的更多相关文章
- 【温故而知新-Javascript】时间效果(显示当前时间、显示当前日期、显示页面停留时间、倒计时)
1.显示当前时间 <body onload="showtime()"> <div>当前时间: <span id="clock"&g ...
- js记录用户在网站的浏览记录和停留时间
by weber开发者 from http://weber.pub/ 本文地址: http://weber.pub/js记录用户行为浏览记录和停留时间/163.html 问题 公司想统计一个用户从进入 ...
- js记录用户行为浏览记录和停留时间(转)
演示地址:http://weber.pub/demo/160902/test.html 测试源码下载:http://pan.baidu.com/s/1nvPKbSP 密码:r147 解决问题所使用的知 ...
- 开源的javascript实现页面打印功能,兼容所有的浏览器(情况属实)
这篇文章完全是属于技术文章,也是记录一下自己在项目当中遇到的坑爹问题啊,因为是B/S的程序,所以打印功能还是必须要有的,对于打印我选择了一个js插件,发现非常的简单和方便,所以这里拿出来和大家分享一下 ...
- asp.net web api 测试帮助页面建立并测试
asp.net web api 测试帮助页面建立并测试 现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方 ...
- JS+Ajax+Servlet:记录页面访问时间
1.前端JS记录页面访问时间 1.1JQuery版本: <script type="text/javascript" src="js/jquery.min.js&q ...
- JavaScript禁用页面刷新
JavaScript禁用页面刷新代码如下: //禁用F5刷新 document.onkeydown = function () { if (event.keyCode == 116) { event. ...
- Javascript刷新页面的几种方法
Javascript刷新页面的几种方法: window.navigate(location)location.reload()location=locationlocation.assign(loca ...
- Javascript刷新页面的八种方法
/** * Javascript刷新页面的八种方法 * 说明一下,jQuery没有发现刷新页面的方法. */ 1 history.go(0) 2 location.reload() 3 locatio ...
随机推荐
- Linux下wc命令统计文件行数/词数/字符数/最长行字符数
wc命令帮助 $ wc --help Usage: wc [OPTION]... [FILE]... or: wc [OPTION]... --files0-from=F Print newline, ...
- 不同类型的磁盘存储在Ubuntu下的性能测试
Ubuntu下通过lsusb判断USB存储是否是USB3.0: # 要查看Seagate这个移动硬盘 lsusb 或者 lsusb -t $ lsusb Bus Device : ID : Intel ...
- mysql配置和管理(转载)
MySQL的配置与管理 (2012-08-09 13:06:59) 转载▼ 标签: mysql 配置 管理 分类: MySQL 安装 yum -y install mysql-server 启动服 ...
- Linux-配置虚拟IP
Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...
- mysql8.0 Authentication plugin 'caching_sha2_password' cannot be loaded
安装mysql8.0后使用navicat创建连接, 然后报如题所示警告.可参考如下解决方案: https://stackoverflow.com/questions/49194719/authenti ...
- MATLAB 的break语句和continue语句
break语句: MATLAB中 break 语句用于终止 for 或 while 循环的执行,当在循环体内执行到该语句的时候,程序将会跳出循环,继续执行循环语句的下一语句. %% MATLAB br ...
- Runway for Mac(UML 流程图绘图工具)破解版安装
1.软件简介 Runway 是 macOS 系统上一款强大实用的软件开发工具,Runway for Mac 是一个界面简单功能强大的UML设计师.此外,Runway for Mac 带给你所有你 ...
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
高并发分布式系统中生成全局唯一(订单号)Id 1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...
- ToString()的各种用法(大全) C# 获取所有国家时间格式
ToString()的各种用法(大全) 常用例子: string str = ""; str = 123456.ToString("N"); //生成 12 ...
- C++编程技巧降低编译时间
1. #define的保护 全部头文件都应该使用#define 防止头文件被多重包括(multiple inclusion).命名格式 当是:<PROJECT>_<PATH>_ ...