[英]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.