2015-03-19 210 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

相关问题