如何调试混淆的JavaScript?

时间:2012-06-07 12:47:47

标签: javascript html html5 debugging

我需要像这个例子一样调试混淆的JavaScript:

__d("DataStore",[],function(a,b,c,d,e,f){var g={},h=1;function i(l){if(typeof l=='string'){return 'str_'+l;}else return 'elem_'+(l.__FB_TOKEN||(l.__FB_TOKEN=[h++]))........

嵌入在MSIE,Opera和Chrome中的JavaScript调试器不理解JS使用分号而不是CRLF作为换行符;因此无法调试这样的脚本,因为整个函数位于一个大行上,调试器总是突出显示这一行,不允许我看看代码的哪一部分实际执行。

有没有办法调试包含很长代码行的JavaScript文件,而不使用CRLF来分隔代码行?

4 个答案:

答案 0 :(得分:33)

Chrome devtools“Scripts / Sources”窗格具有“漂亮打印”模式(在底部工具栏中查找{}按钮)。

答案 1 :(得分:3)

使用Javascript Beautifier重新格式化代码,然后调试代码。

查看http://jsbeautifier.org/

答案 2 :(得分:1)

Google Chrome浏览器具有“漂亮打印”功能,可以重新输入代码。

我通常不会使用它,因此我不知道它何时存在,但它存在于Chrome 21开发中。

答案 3 :(得分:1)

没有单一的解决方案。您可以首先将javascript代码复制/粘贴到http://jsbeautifier.org/

中。