init
This commit is contained in:
73
public/frontend/weben/scripts/track.js
Executable file
73
public/frontend/weben/scripts/track.js
Executable file
@@ -0,0 +1,73 @@
|
||||
var RequestUrl = {
|
||||
exit_page: '/api/trackproducer/etime/', //离开时间
|
||||
};
|
||||
|
||||
var stime = new Date();
|
||||
window.onpagehide = function() {
|
||||
var etime = new Date();
|
||||
var ms = (etime.getTime() / 1000) - (stime.getTime() / 1000);
|
||||
var img = new Image();
|
||||
img.src = RequestUrl.exit_page + '?etime=' + etime + '&dt=' + ms;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function handleGlobalEvent(event) {
|
||||
const eventType = event.type; // 获取事件类型,例如 "click", "copy" 等
|
||||
const target = event.target; // 获取触发事件的元素
|
||||
let actionType = "";
|
||||
|
||||
const elementType = target.tagName; // 获取元素的标签名,例如 "BUTTON", "DIV" 等
|
||||
const elementId = target.id; // 获取元素的 ID 属性
|
||||
const elementText = target.innerText; // 获取元素的文本内容
|
||||
|
||||
// 执行埋点操作,例如发送数据到埋点服务
|
||||
trackEvent(actionType, eventType, target, elementText);
|
||||
}
|
||||
|
||||
function trackEvent(actionType, eventType, target,elementText) {
|
||||
// 在这里实现埋点逻辑,例如发送请求到服务器,或者调用埋点代码
|
||||
//console.log(`埋点:动作类型 - ` + actionType + `,事件类型 - ` + eventType);
|
||||
//console.log("触发元素:", target);
|
||||
var userAgent = navigator.userAgent;
|
||||
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
|
||||
var isTablet = /iPad|Android/i.test(userAgent);
|
||||
var isDesktop = !isMobile && !isTablet;
|
||||
var isDerive = "";
|
||||
var forum = "<?php echo $controller;?>";
|
||||
|
||||
if (isMobile) {
|
||||
// 手机设备逻辑
|
||||
isDerive = "H5";
|
||||
} else if (isTablet) {
|
||||
// 平板设备逻辑
|
||||
isDerive = "Tablet";
|
||||
} else {
|
||||
// 桌面设备逻辑
|
||||
isDerive = "PC";
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/us/track/records",
|
||||
data: {
|
||||
//ip: getip(),
|
||||
'url': window.location.href,
|
||||
'refer': document.referrer,
|
||||
'user_agent': userAgent,
|
||||
'content': elementText,
|
||||
'drive': isDerive,
|
||||
'forum': forum,
|
||||
'event_type': eventType
|
||||
},
|
||||
dataType: "json",
|
||||
success: function (data, status, xhr) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener("click", handleGlobalEvent);
|
||||
document.addEventListener("copy", handleGlobalEvent);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user