当IE(或其他浏览器)中出现javascript错误时,您会收到一个弹出窗口,指出已发生javascript错误 - 通常会附带一个行号和一些提示.有时它带有第0行,无法知道问题所在.
Javscript可以来自HTML本身,来自js文件或JSP(以及更多).Microsoft有一个脚本调试器,可以帮助找到js错误的位置,但有时当js错误发生时,脚本调试器无法找到代码部分,因此很难找到问题的根本原因.
我的问题是,是否有人知道任何方式使脚本调试器以任何方式找到代码(主要发生在JSP文件中的js代码),或者至少在IE弹出窗口中包含发生错误的方法或js文件.(它只显示行号,并且多次显示第0行......).
谢谢,塔尔.
当涉及到源代码行时,JavaScript引发错误时创建的错误对象非常不可靠,特别是在IE中.像Firefox和Safari这样的浏览器在行号上更好,但由于文件的缩小,它们通常没有意义.
显然更有用的是获取调用堆栈,但由于JavaScript函数的匿名特性(以及它们可以是匿名的),调用堆栈通常很难解决.
如果你正在做一个try/ catch
你可以做的arguments.callee
,那将返回调用失败的当前方法的方法.
这是在JavaScript中完成堆栈的一个很好的例子 - http://eriwen.com/javascript/js-stack-trace/