我通过订阅window.onerror事件来捕获JS错误,因此,如果有人捕获到“ undefined variable ”错误,我会将其发送到服务器以进行调试。
如您所知,此事件在发生错误的地方返回“错误消息”,“url”和“line”。
问题出在压缩文件中。
如果文件被压缩,则所有代码都在一行中,要确定错误的确切位置是个大问题。
这个问题有什么解决办法吗?
最佳答案
JavaScript压缩器通常做两件事:
还有其他一些优化,例如函数内联,但是这些优化通常不会出现问题。
关于第一点,您可以通过许多JavaScript source formatters中的一个来运行代码。这应该为您提供了一个易于阅读的JavaScript文件。
至于第二点,混淆通常是不可逆的。如果将诸如
width
,height
或其他名称的“口语”变量名称更改为a
或b
,则您一开始就无法知道它们的含义。如果此问题适用于开放源代码产品,则通常可以下载源代码并尝试使用它们来重构问题。
如果源代码是封闭的,并且仅“美化”代码没有帮助,则必须向供应商编写错误报告。
关于javascript - 从压缩文件中捕获JavaScript错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852498/