2013-05-04 56 views
3

我在Chrome中得到一个错误,在我的JavaScript控制台类型错误在Javascript控制台

TypeError: Cannot call method 'xxx' of undefined 

Firefox中的Firebug的报告;

TypeError: t is undefined 

T和xxx只是例子。

我正在工作的网站上塞满了插件,jQuery和其他随机和可能不正确的代码。这很复杂,可能不值得在那里列出每一点的JavaScript。

所以我的问题是,鉴于这种情况,我如何将这个错误追溯到违规的代码片段?而且 - 甚至可能吗?鉴于无数的变量,xxx和T对我来说毫无意义。

铬似乎有更深入的了解,错误性质,如得到stackset stackmessage__proto__,但扩大这些似乎只是给我上的prototype>constructor>prototype>constructor ...广告nauseum的无尽的旅程。

这些错误消息可以引导我到任何有用的东西,比如发生错误的地方 - 什么文件,什么变量,函数的名称......什么?

我意识到这可能是一个非常基本的问题,但我卡住了。任何提示或指针真的很感激!我保证我会在这之后阅读更多的Javascript书籍。也许去一个课程。或者,也许我会放弃...

+1

点击错误,它会带你到代码(在FireBug的任何console.log和错误显示它来自右侧)。如果来自jquery而不是更可能的错误是由您的代码调用jQuery函数引起的。获取未分类的版本,解决错误并检查调用堆栈。 – HMR 2013-05-04 02:47:44

+1

呃......我使用了几个插件和* pop *的un-minified版本,它开始工作。首席罪犯似乎被称为jCarousel。真相是,我不知道我在做什么。而且我已经连续两天了,正如我的项目经理预测星期天世界末日。如果你回答这个问题,我会给你一个绿色的答案 - 谢谢! – NathanBarley 2013-05-04 03:08:02

+0

我会将它添加到我的答案中。很高兴看到它被解决了。 – HMR 2013-05-04 03:14:09

回答

2

在萤火虫去脚本选项卡,然后点击“打破下一个”(左边的红色圆圈)。当出现javascript错误时,脚本将在那里暂停。您可以选择堆栈选项卡(右圆圈)。在通话堆栈中,您可以点击这些行,它会将您带到代码中。

如果你不知道是什么导致它仍然可以请你复制并粘贴调用堆栈?

Firebug window

Somtimes你可能想看看有什么第三方库正在做的;如果在开发过程中使用这些库的未经版本化的版本,则更容易看到发生了什么。

+0

更好 - “下一站”。这很好,谢谢弟兄们。 1下来,86问题去。 – NathanBarley 2013-05-04 03:28:28