JS+Ajax+Servlet:记录页面访问时间

时间:2021-02-17 22:49:34

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&lpar;显示用户上次访问时间、显示商品浏览历史&rpar;

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

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

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

  8. 注册页面手机验证码无跳转接收&lbrack;html&plus;js&plus;ajax&plus;php&rsqb;

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

  9. JS Ajax跨域访问

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

随机推荐

  1. C&num;&period;NET微信公众账号接口开发系列文章整理--微信接口开发目录,方便需要的博友查询

    前言: 涉及微信接口开发比较早也做的挺多的,有时间的时候整理了开发过程中一些思路案例,供刚学习微信开发的朋友参考.其实微信接口开发还是比较简单的,但是由于调试比较麻烦,加上微信偶尔也会给开发者挖坑,并 ...

  2. Something about &quot&semi;for&quot&semi;

    For语句引导了一个循环语句,格式for(::),例for(int i=0;i<100;i++).类似于if()括号的作用for()括号如同if()括号一样也是一个boolean型.int i= ...

  3. Ubuntu12&period;04安装ia32-libs

    sudo apt-get install libc6:i386 sudo -i cd /etc/apt/sources.list.d// care for old-releases.ubuntu.co ...

  4. 《C&num;高级编程》之泛型--1创建泛型类

    .NET自从2.0版本开始就支持泛型. 非泛型链表 闲话休提,马上来看下非泛型的简化链表类,它可以包含任意类型的对象. LinkedListNode.cs中: 在链表中,一个元素引用另一个元素,所以必 ...

  5. JSP中的include的两种用法

    1.两种用法 <%@ include file=” ”%> <jsp:include page=” ” flush=”true”/> 2.用法区别 (1)执行时间上区别 &lt ...

  6. 教会你如何编写makefile文件

    最近一直在学习makefile是如何编写的.当我们写的程序文件比较少的时候,敲入gcc /g++,当你在大型工程中,在一个个编译文件的话,你可能就会很郁闷.linux有一个自带的make命令,它让你的 ...

  7. work2:贪吃蛇

    学号:2017*****7219 姓名:邰嘉琛我的码云贪吃蛇项目仓库:https://gitee.com/tjc666/sesnake/tree/master2) 给出你的各项任务完成时间估算与实际消 ...

  8. 使用adb安装遇到的一些坑

    1.下载安装android SDK,可通过浏览器或者相关手机软件下载软件下载需要安装的apk安装文件,把apk文件放到android-sdk-windows\platform-tools下 2.可通过 ...

  9. mysqldump 用法

    mysqldump 是文本备份还是二进制备份 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象.它也有 insert 语句来使用数据构成表. mysqldump 的语法是什 ...

  10. e藏在哪里?

    e约等于2.718,是和pi齐名的自然常数. 在任何一个均匀随机器中,都藏着e. import random def count(): k = 0 s = 0 while s < 1: k += ...