1.前端JS记录页面访问时间

  1.1JQuery版本:

        <script type="text/javascript" src="js/jquery.min.js"></script>
<script language=JavaScript>
$(document).ready(function() {
var vTimeStart;
var vTimeEnd;
var vTimeVisit; // 进入页面:记录时间
vTimeStart = new Date(); $(window).bind("beforeunload", function() {
vTimeEnd = new Date();
vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds(); alert(vTimeVisit); // 恶心的360必须有返回值,否则不执行
event.returnValue = "访问用时:" + vTimeVisit + "秒";
// return vTimeVisit +'';
});
});
</script>

  1.2纯JsvaScript版本:

        <script language=JavaScript>
var vTimeStart;
var vTimeEnd;
var vTimeVisit; window.onload = function() {
// 进入页面:记录时间
vTimeStart = new Date();
}
window.onbeforeunload = function() { vTimeEnd = new Date();
vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds();
// 恶心的360必须有返回值,否则不执行
event.returnValue = "访问用时:" + vTimeVisit + "秒";
// return vTimeVisit +'';
}
</script>

2.Ajax将页面访问时间发送给服务器(JQuery版本)

回调函数不需要,360的返回值也不需要,因为只要服务器有反应就行了

<script type="text/javascript" src="js/jquery.min.js"></script>
<script language=JavaScript>
$(document).ready(function() {
var vTimeStart;
var vTimeEnd;
var vTimeVisit; // 进入页面:记录时间
vTimeStart = new Date(); $(window).bind("beforeunload", function() {
vTimeEnd = new Date();
vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds(); // 将用户行为发送给服务器
$.post("ConductCollectServlet", {
visittime : vTimeVisit,
});
});
});
</script>

服务器端新建ConductCollectServlet.java

    public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("收集Servlet:Post");
// 页面访问时间
String strVisitTime =request.getParameter("visittime");
System.out.println(strVisitTime);
}

JS+Ajax+Servlet:记录页面访问时间的更多相关文章

  1. ajax 多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题

     多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题 浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉.当我们执行异步ajax的时候没有问 ...

  2. Cookie 记录最后访问时间

    package cn.gs.ly.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...

  3. Servlet案例6:显示用户的上次访问时间

    这里是cookie的简单应用 告诉用户您的上次访问时间是:xxxx-xx-xx xx:xx:xx 思路: 第一次访问该网站时候,记录当前访问时间(new Date()) 把当前时间以cookie的形式 ...

  4. js记录用户访问页面和停留时间

    1.setInterval setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval(code,millisec[,"lang" ...

  5. 利用JS跨域做一个简单的页面访问统计系统

    其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们 ...

  6. Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)

    1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器 ...

  7. 通过cookie记录,设置页面访问的跳转页

    通过cookie记录,设置页面访问的跳转页 转载自:http://blog.csdn.net/yixiao_naihe/article/details/26679515. 目的: 1.访问fm.htm ...

  8. 注册页面手机验证码无跳转接收[html+js+ajax+php]

    [学习笔记] 来源:注册时需要使用短信验证码,但是注册的时候,点击接收验证码时,会产生跳转(尼玛,这不是我想要的啊!o(╥﹏╥)o) 查询资料和看书之后,知道使用js+ajax可以实现,就从网上找了一 ...

  9. JS Ajax跨域访问

    js ajax跨域访问报"No 'Access-Control-Allow-Origin' header is present on the requested resource 如果请求的 ...

随机推荐

  1. Chrome——F12 谷歌开发者工具详解

    我们这里介绍主要的几块:Console.Source.Network Console 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的, ...

  2. 论 业务系统 架构 的 简化 (一) 不需要 MQ

    MQ , 就是 消息队列(Message Queue), 不知从什么时候起, MQ 被用来 搭建 分布式 业务系统 架构, 一个重要作用 就是用来  “削峰”   . 我们 这里 就来 讨论 如何 设 ...

  3. js 的深拷贝

    出处:https://www.cnblogs.com/Chen-XiaoJun/p/6217373.html function deepClone(initalObj, finalObj) { var ...

  4. c++获取键盘输入cin、scanf使用详解

    cin是c++标准,scanf是在c中使用的 #include<cstdio> #include<iostream> #include<cstring> using ...

  5. CentOS7.x 配置开机启动项目

    Centos6.x 下版本主要通过service控制启动与关闭,通过chkconfig来设置开机启动项,但是Centos 7.x 版本采用已经Systemd来控制启动与关闭,Systemd 是 Lin ...

  6. angular2的ngfor ngif指令嵌套

    angular2的ngfor ngif指令嵌套 ng2 结构指令不能直接嵌套使用,可使用<ng-container>标签来包裹指令 示例如下: <ul> <ng-cont ...

  7. 一次修改mysql字段类型引发的技术探究

    说来,mysql数据库是我们项目中用的比较多的库,ORM工具喜欢采用细粒度的MyBatis.这里面就这么引出了两者之间的故事! 首先,说改字段吧,将一个表中的varchar字段改为enum字段.如下: ...

  8. R基于Bayes理论实现中文人员特性的性别判定

    参见 基于中文人员特征的性别判定方法  理论,告诉一个名字,来猜猜是男是女,多多少少有点算命的味道.此命题是一种有监督的学习方法,从标注好的训练数据学习到一个预测模型,然后对未标注的数据进行预测. 1 ...

  9. 【java】注释

    一.注释   1. 注释类型 [a]. 单行注释 // 单行注释 [b]. 多行注释 /* 多行注释 */ [c]. 文档注释 /** 文档注释 */ 一般情况下,需求,实现方式用多行注释,类和方法上 ...

  10. TabControl TabPage添加关闭按钮

    自定义控件代码如下: using System.Drawing; using System.Windows.Forms; namespace Demo.UC { public class KKTab ...