8

我有一个插件可以访问length许多元素的属性。但是,javascript 控制台指向 jquery.min.js 的第 12 行。

如何回溯以找到插件中的违规行?

4

5 回答 5

6

如果您使用缩小脚本,任何调试器(就像最好的萤火虫一样)都会向您显示相同的有问题的行,并且这些信息是无用的(缩小的脚本很难阅读和理解,它们写在 1 行中)。

解决此类问题的几种方法:

  1. 正如我之前所说的:对于开发使用未缩小的脚本,调试器将向您显示有意义的行,如果您幸运的话,您可以找到开发人员非常有用的评论。
  2. 如果您找不到完整版本的脚本,请使用以下 unminifier:http://jsbeautifier.org/ 粘贴缩小的脚本并单击下面的按钮)。添加到您的项目 uminified 脚本并再次运行无效函数。调试器再次向您显示该线路,但这次您将看到一条真实的逻辑线路,并且您可以了解大多数情况下的问题所在。
  3. 调试器将向您显示哪个脚本引发了问题。检查此脚本是否有任何新版本。我曾经遇到过同样的问题,找到了缩小脚本的行,插件的名称(版权上面几行),然后发现有一个新版本可用。审查了变更日志,有:“在整个代码中为潜在的未知属性值添加了多个‘健全性检查’ ” - 大头照 :) 更新了脚本,从现在开始一切都很好,无需花费数小时进行特殊调试。
  4. 谷歌你的脚本名称错误 - 它帮助了我很多次.. 可能你做到了,但也许你没有尝试使用语音标记“” - 谷歌将返回文本中包含精确短语的页面。
于 2010-07-28T15:25:10.310 回答
4

如何回溯以找到插件中的违规行?

firebug是调试这些错误的好方法。

替代文字
(来源:getfirebug.com

于 2010-06-14T19:03:31.193 回答
1

如果您使用 Chrome,您可以通过转到"View > Developer > Developer Tools". 控制台中的错误通常会在其前面有一个向右的小箭头,单击该箭头将显示有关该错误的更多详细信息。

Javascript 错误不太可能源自库,而是引用该库中方法/函数的代码,因此您需要查看控制台右侧列出的所有问题行并选择对应于的行您编写的代码将成为您的问题所在。

通过查看 jQuery 的源代码,您不太可能找出问题所在。问题出在您的代码中。只是 jQuery 不能使用你传递给它的未定义变量。

于 2013-03-22T17:15:48.820 回答
1

我经常发现这些模棱两可的框架错误是 AJAX 请求错误的结果。如果是这种情况,您选择的开发人员工具很可能包含一个网络选项卡,这可能会突出显示错误的真正来源。

如果您使用 jQuery(或任何 JavaScript 框架)来处理 AJAX 请求的结果,那么格式化和处理错误都是额外的且经常被忽略的步骤。

于 2013-07-30T19:10:09.740 回答
0

除了调试器/萤火虫之外,一个简单的追踪方法(如果你有站点的沙盒版本)是单独注释掉每个插件并检查错误是否消失。

于 2013-07-30T18:53:06.793 回答