【发布时间】:2012-11-08 22:54:14
【问题描述】:
关于如何以跨浏览器的方式在 javascript 中生成堆栈跟踪的任何建议?
较新的浏览器(Chrome 和 Firefox)公开了一个允许生成堆栈跟踪的控制台对象。此方法不提供将堆栈跟踪存储到变量的方法。
https://github.com/eriwen/javascript-stacktrace 工作得很好,但它会发出单独的 ajax 请求来加载作为跟踪的一部分包含的脚本文件。这似乎是跟踪库中的常用方法。我猜浏览器没有公开足够的信息来生成有意义的堆栈跟踪(行号、函数名、文件名、参数等)。
【问题讨论】:
-
您是对的,IE9-(让我们面对现实吧,这可能是我们在这里遇到的问题)没有提供太多有用的信息。可以从
window.onerror获取文件和行号,只是有时会触发并且行号有时是错误的。 -
是的,像往常一样,IE 是问题的孩子。我坚持支持 IE7,因为它的 onerror 事件的行号和函数名信息很糟糕。它仍然有用;我用它来为未捕获的错误写日志。
标签: javascript stack-trace printstacktrace