Javascript Jquery,未捕获类型错误:未定义不是函数

Javascript Jquery,未捕获类型错误:未定义不是函数,javascript,jquery,Javascript,Jquery,我在Chrome41.0.22的控制台选项卡下发现了这个错误 剧本是这样的 var _gaq = _gaq || []; var stFailbackDefaults = { trackScrolling: true, stLogInterval: 10, docTitle: window.document.title, cutOffTime: 900, trackNoEvents: false, trackNoMaxTime: false }; window.total_time = 0; v

我在Chrome41.0.22的控制台选项卡下发现了这个错误

剧本是这样的

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")
})
};

但是没有运气。我不知道的任何其他选项?

如果您查看控制台,错误右侧应该有一个超链接,如果您单击该超链接,它将带您到错误点。我更喜欢将断点放在代码的特定区域并调试代码。使用
f10、f11、f8键查看其中断位置。

没有称为removeInterval()的方法,您需要使用来删除间隔

因此,将
window.removeInterval(window.stIntervalObj)
替换为

window.clearInterval(window.stIntervalObj)

为什么要在
if
块中声明
startTimeTracking()
函数?控制台是否也会告诉您错误在哪一行?是的,对不起,错误在第57行,window.removienterval(window.stIntervalObj)谢谢Arun,错误现在消失了。稍后我会再次检查它,看看它是否仍然消失或回来。在以前的更改中,错误也消失了,并再次出现。感谢您提供此信息。我以前没用过。
window.clearInterval(window.stIntervalObj)