[英]Changing the output of a javascript
我有这个(一部分)脚本,可以根据时间设置将事件发送到Google Analytics(分析)。 默认情况下,它每10秒发送一次事件,输出为ga(“ send”,“ event”,“ Time”,“ Log”,“ 0:10”)),并在10秒后输出为ga(“ send”,“ event “,“时间”,“日志”,“ 0:20”)。
我不知道的是,当我更改时间设置以每20秒触发一次事件时,如何获得此输出ga(“ send”,“ event”,“ Time”,“ Log”,“ 0:20”)以及接下来的20秒ga(“发送”,“事件”,“时间”,“日志”,“ 0:40”)。
这是我的代码
var stLogInterval = 20;
function TrackingLogTime(tosArray) {
return tosArray[0] == 50 ? (parseInt(tosArray[1]) + 1) + ":00" : (tosArray[1] || "0") + ":" + (parseInt(tosArray[0]) + 10 )
}
function stInitializeControlVars() {
if (typeof window.stLogInterval == "undefined") {
window.stLogInterval = 10000
}
}
function startTimeTracking(tos) {
stInitializeControlVars();
window.stIntervalObj = window.setInterval(function() {
total_time += 10;
tos = TrackingLogTime(tos.split(":").reverse());
ga("send", "event", "Time", "Log", tos)
}, (window.stLogInterval))
}
jQuery(document).ready(function() {
startTimeTracking("00")
})
有没有一种方法可以将stLogInterval添加到TrackingLogTime? 我试图用+ stLogInterval替换+ 10,但这没有完成。
您需要更改此行
return tosArray[0] == 50 ? (parseInt(tosArray[1]) + 1) + ":00" : (tosArray[1] || "0") + ":" + (parseInt(tosArray[0]) + 10 )
到这个
return tosArray[0] == 40 ? (parseInt(tosArray[1]) + 1) + ":00" : (tosArray[1] || "0") + ":" + (parseInt(tosArray[0]) + 20 )
和window.stLogInterval = 10000
到window.stLogInterval = 20000
================================================== =====================其他说明如下:
我还想警告您,依靠javascript计时器并不安全,因为js是单线程的,您希望在超时或间隔过去之后准确调用的代码可以在以后调用。 尽管间隔为20秒,但我认为这不是问题。
顺便说一下,您的代码中有些混乱。 这条线似乎没用
total_time += 10;
同样这个var stLogInterval = 20;
和这个
if (typeof window.stLogInterval == "undefined") {
window.stLogInterval = 10000
}
废话 您需要专门使用变量或window属性,而不能同时使用,最好是变量
========================
根据评论更新
您需要将功能TrackingLogTime更改为
function TrackingLogTime(tosArray) {
var minPart;
var sec = +tosArray[0] + 20;
if (sec >= 60) {
minPart = +tosArray[1] + 1;
sec -= 60;
} else {
minPart = tosArray[1] || '0';
}
sec = sec < 10 ? '0' + sec : sec;
return minPart + ':' + sec;
}
并且必须设置window.stLogInterval = 20000
而不是10000。我真的不喜欢此功能,这有点不合逻辑,但这是需要的微小更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.