2015-03-19 225 views
0

我在控制檯選項卡下的Chrome 41.0.22中出現此錯誤。Jquery,Uncaught TypeError:undefined不是函數

劇本是這樣的

var _gaq = _gaq || []; 
var stFailbackDefaults = { 
trackScrolling: true, 
stLogInterval: 10, 
docTitle: window.document.title, 
cutOffTime: 900, 
trackNoEvents: false, 
trackNoMaxTime: false 
}; 
window.total_time = 0; 
var stIntervalObj = null; 

function TrackingLogTime(tosArray) { 
return tosArray[0] == 50 ? (parseInt(tosArray[1]) + 1) + ":00" : (tosArray[1] || "0") + ":" + (parseInt(tosArray[0]) + 10) 
} 

function stInitializeControlVars() { 
if (typeof window.trackScrolling == "undefined") { 
    window.trackScrolling = window.stFailbackDefaults.trackScrolling 
} 
if (typeof window.stLogInterval == "undefined") { 
    window.stLogInterval = window.stFailbackDefaults.stLogInterval * 1000 
} 
if (typeof window.docTitle == "undefined") { 
    window.docTitle = window.stFailbackDefaults.docTitle 
} 
if (typeof window.cutOffTime == "undefined") { 
    window.cutOffTime = window.stFailbackDefaults.cutOffTime 
} 
if (typeof window.trackNoEvents == "undefined") { 
    window.trackNoEvents = window.stFailbackDefaults.trackNoEvents 
} 
if (typeof window.trackNoMaxTime == "undefined") { 
    window.trackNoMaxTime = window.stFailbackDefaults.trackNoMaxTime 
} 
if (window.trackScrolling === true) { 
    setTimeout(function() { 
     window.onscroll = function() { 
      window.onscroll = null; 
      ga("send", "event", "Scroll", window.docTitle, "scrolled") 
     } 
    }, 2000) 
} 
} 
if (window.trackNoEvents === false) { 
function startTimeTracking(tos) { 
    stInitializeControlVars(); 
    window.stIntervalObj = window.setInterval(function() { 
     total_time += 10; 
     if (window.trackNoMaxTime === true) { 
      total_time = 1 
     } 
     if (window.total_time <= window.cutOffTime) { 
      tos = TrackingLogTime(tos.split(":").reverse()); 
      ga("send", "event", "Time", "Log", tos) 
     } else { 
      window.removeInterval(window.stIntervalObj) 
     } 
    }, (window.stLogInterval)) 
} 
jQuery(document).ready(function() { 
    startTimeTracking("00") 
}) 
}; 

標準的WordPress的jquery.js這個腳本之前加載,只有一次。該腳本是加載的最後一個腳本。

我曾嘗試使用或不使用分號結束了jQuery,這裏

startTimeTracking("00"); 

,但沒有運氣。我還沒有意識到的其他選項?

+0

更換window.removeInterval(window.stIntervalObj)你爲什麼聲明'startTimeTracking()'內部的功能'if'阻止?控制檯是否也不告訴你哪一行是錯誤的? – nnnnnn 2015-03-19 03:54:41

+0

對不起,錯誤在第57行,window.removeInterval(window.stIntervalObj) – WendiT 2015-03-19 04:01:04

回答

2

有沒有方法稱爲removeInterval(),您需要使用clearInterval()刪除間隔。

因此,與

window.clearInterval(window.stIntervalObj) 
+0

謝謝Arun,現在錯誤消失了。我會再次檢查它,看它是否仍然消失或回來。在以前的變化中,錯誤也消失了,並且回來了。 – WendiT 2015-03-19 04:10:07

0

如果你查看控制檯,錯誤的右側應該有一個超鏈接,如果你點擊它,它會帶你到錯誤點。我寧願在代碼的某個區域放置斷點並調試代碼。用f10, f11, f8鍵查看斷點。

+0

感謝這個信息。以前沒用過。 – WendiT 2015-03-19 04:16:14

相關問題