12

我需要像这个例子一样调试混淆的 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 作为换行符;所以调试这样的脚本是不可能的,因为整个函数都位于一个大行上,并且调试器总是突出显示这一行,不允许我查看实际执行的代码部分。

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

4

4 回答 4

35

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

于 2012-06-07T12:50:41.947 回答
3

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

查看http://jsbeautifier.org/

于 2012-06-07T12:52:26.423 回答
1

谷歌浏览器有一个“漂亮的打印”功能,允许重新缩进代码。

我通常不使用它,所以我不知道它什么时候存在,但它存在于 Chrome 21 dev 中。

于 2012-06-07T12:51:03.643 回答
1

对此没有单一的解决方案。你可以做的第一件事就是将 javascript 代码复制/粘贴到http://jsbeautifier.org/

于 2012-06-07T12:52:04.007 回答