大数据全系列 教程
1869个小节阅读:464.8k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
先看js/analytics.js,很可能(function(){....})()看不懂,接下来先讲解它:
创建my.js,在index.jsp中通过script标签引入
xxxxxxxxxx
<script type="text/javascript" src="./js/my.js"></script>
编辑my.js,三种方式逐步递进,演示后面的时候,需要将前面的内容注释掉。
xfunction load(){
alert("hello js");
}
load();
(function load2() {
alert("hello js load2")
})();
(function () {
alert("hello js no name")
})();
将my.js的其它代码都注释掉,并添加以下代码
xxxxxxxxxx
(function () {
var myJson={
name:"gtjin",
age:"34",
say:function(){
alert("我是"+this.name+",今年"+this.age+"岁");
}
};
//输出name属性的值
alert(myJson.name+"===="+myJson.age);
//调用方法
myJson.say();
})();
然后测试。
阅读demo.jsp
xxxxxxxxxx
<script type="text/javascript" src="./js/analytics.js"></script>
该jsp中并没有调用js代码,那么js是如何触发的呢?
analytics.js
接下来分析autoLoad=function(){....}
xxxxxxxxxx
// 启动session
__AE__.startSession();
Ctrl+单机->startSession()
进入startSession()函数
xxxxxxxxxx
startSession : function() {
tracker.startSession();
},
Ctrl+单机->startSession()
进入tracker.startSession()
xxxxxxxxxx
startSession : function() {
// 加载js就触发的方法
if (this.getSid()) {
// 会话id存在,表示uuid也存在
if (this.isSessionTimeout()) {
// 会话过期,产生新的会话
this.createNewSession();
} else {
// 会话没有过期,更新最近访问时间
this.updatePreVisitTime(new Date().getTime());
}
} else {
// 会话id不存在,创建新的会话
this.createNewSession();
}
this.onPageView();
},
CookieUtil具体的代码先不用研究。
var tracker分析
xxxxxxxxxx
columns : {
// 发送到服务器的列名称
eventName : "en",//事件名称, eg: e_pv
version : "ver",//版本号, eg: 0.0.1
platform : "pl",//平台, eg: website,iso,android
sdk : "sdk",//Sdk类型, eg: js java
uuid : "u_ud",//浏览器分辨率,eg: 1800*678
memberId : "u_mid",//会员id,和业务系统一致
sessionId : "u_sd",//会话id
clientTime : "c_time",//客户端时间
language : "l",//客户端语言
userAgent : "b_iev",//浏览器信息useragent
resolution : "b_rst",//浏览器分辨率,eg: 1800*678
currentUrl : "p_url",//当前页面的url
referrerUrl : "p_ref",//上一个页面的url
title : "tt",//当前页面的标题
orderId : "oid",//订单id
orderName : "on",//订单名称
currencyAmount : "cua",//支付金额
currencyType : "cut",//支付货币类型
paymentType : "pt",//支付方式
category : "ca",//Event事件的Category名称
action : "ac",//Event事件的action名称
kv : "kv_",//Event事件的自定义属性
duration : "du"//Event事件的持续时间
},