JS+Ajax+Servlet:记录页面访问时间
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:记录页面访问时间的更多相关文章
- ajax 多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题
多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题 浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉.当我们执行异步ajax的时候没有问 ...
- Cookie 记录最后访问时间
package cn.gs.ly.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...
- Servlet案例6:显示用户的上次访问时间
这里是cookie的简单应用 告诉用户您的上次访问时间是:xxxx-xx-xx xx:xx:xx 思路: 第一次访问该网站时候,记录当前访问时间(new Date()) 把当前时间以cookie的形式 ...
- js记录用户访问页面和停留时间
1.setInterval setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval(code,millisec[,"lang" ...
- 利用JS跨域做一个简单的页面访问统计系统
其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们 ...
- Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)
1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器 ...
- 通过cookie记录,设置页面访问的跳转页
通过cookie记录,设置页面访问的跳转页 转载自:http://blog.csdn.net/yixiao_naihe/article/details/26679515. 目的: 1.访问fm.htm ...
- 注册页面手机验证码无跳转接收[html+js+ajax+php]
[学习笔记] 来源:注册时需要使用短信验证码,但是注册的时候,点击接收验证码时,会产生跳转(尼玛,这不是我想要的啊!o(╥﹏╥)o) 查询资料和看书之后,知道使用js+ajax可以实现,就从网上找了一 ...
- JS Ajax跨域访问
js ajax跨域访问报"No 'Access-Control-Allow-Origin' header is present on the requested resource 如果请求的 ...
随机推荐
- e.target和e.srcElement
IE下,event对象有srcElement属性,但是没有target属性; Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: fire ...
- 一个小工具 TcpTextListener
项目地址 : https://github.com/kelin-xycs/TcpTextListener 这是一个 可以 监听 Tcp (Http) 传输数据 的 小工具 . 不是 抓包 .不要 ...
- C# 继承、虚方法、方法重载和多态
继承:继承属于单继承,只能继承一个父类. 继承的一个结果是派生于基类的子类在方法和属性上有一定的重叠. 继承只能够同时继承与一个基类:可以同时继承一个基类和多个接口,但是基类必须放在第一个.(注:C# ...
- tornado请求头/状态码/接口 笔记
set_header()/set_default_headers() set_header():设置请求头数据 set_default_headers():设置默认请求头数据 import torna ...
- NET设计模式 第二部分 结构性模式(12):享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern) ——.NET设计模式系列之十三 Terrylee,2006年3月 摘要:面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题.但是在某些情 ...
- show master status, show slave status中的Executed_Gtid_Set
slave 如果server是slave节点,在server上执行show master staus与show slave status显示的Executed_Gtid_Set是一样的. slave也 ...
- angular2中如何引入scss
如何在ng2的模块或者组件中引入sass文件? 很简单,两个步骤 1.安装style-loader css加载器 npm install --save-dev style-loader 2.在ts文件 ...
- CentOS7局域网下安装离线Ambari
1 Ambari介绍.安装与应用案例介绍 1.1 Ambari Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目 ...
- 【python】序列化和反序列化
序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象.在python的标准库中,专门提供了json库与pickle库 ...
- 一:elasticsearch常用操作总结
索引 搜索 mapping 分词器 1.创建索引 http://192.168.65.131:9200/smartom_index 2.查看索引: http://192.168.65.131:9200 ...