【问题标题】:break javascript one line code to readable code将javascript单行代码分解为可读代码
【发布时间】:2011-11-28 02:36:31
【问题描述】:

我见过人们将所有的 JS 代码放在一行中。 (类似这样的:http://www.drasticdata.nl/DrasticTreemap/Examples/js/swfobject.js)我知道他们正在努力保护他们的知识产权。但我想阅读代码并研究它。

有没有办法让那些单行代码可读?例如,将其分解为多行?

谢谢。

【问题讨论】:

  • 我读到这不仅是为了保护 ip,也是为了在将文件发送到客户端时最小化数据传输。这就是为什么像 jQuery 这样的库会分发一个缩小文件的原因,我猜。

标签: javascript coding-style ip comments


【解决方案1】:

在 Google 上快速搜索“JavaScript de-obfuscator”会返回多个在线解析器,这些解析器将混淆的代码格式化为格式化且可读的东西。

下面的效果很好:

http://jsbeautifier.org/

没有办法将变量名重命名为它们曾经的语义形式。你必须经历的事情......

需要注意的几个术语缩小混淆

缩小(维基百科)

计算机中的缩小(也称为最小化或最小化) 编程语言,尤其是 JavaScript,是 从源代码中删除所有不必要的字符,而不更改 它的功能。

混淆(维基百科)

混淆代码是已变得难以处理的源代码或机器代码 为人类理解。程序员可能故意混淆代码 隐藏其目的(通过默默无闻的安全性)或其逻辑 防止篡改,阻止逆向工程,或作为一个谜题或 阅读源代码的人的娱乐挑战。程式 被称为混淆器将可读代码转换为混淆代码 使用各种技术。

参考文献

http://en.wikipedia.org/wiki/Obfuscated_code

http://en.wikipedia.org/wiki/Minification_(programming)

【讨论】:

    【解决方案2】:

    例如。这个工具有“漂亮的打印”选项:http://closure-compiler.appspot.com/home。一些 IDE (eclipse) 也有。

    【讨论】:

      【解决方案3】:

      您正在寻找http://jsbeautifier.org/

      【讨论】:

        【解决方案4】:

        对于几乎任何语言,只需在谷歌上搜索“美化器”即可。他们将处理所有缩进等,但显然任何缩短的变量或混淆都不容易处理。

        【讨论】:

          【解决方案5】:

          您可以将源代码粘贴到 Javascript 美化器中,但您仍然会遇到变量名没有意义的问题。

          考虑到源码是SWFObject,是google的开源脚本,其项目主页的链接在你发的源码中:http://code.google.com/p/swfobject/

          您可以在该链接下载非混淆代码。

          【讨论】:

            【解决方案6】:

            如果您使用的是 Chrome,开发者工具的脚本面板中有一个漂亮的打印按钮。这可能比不断使用网络应用程序要容易得多。

            http://cristian-radulescu.ro/article/pretty-print-javascript-with-google-chrome.html

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-03
              • 2020-07-07
              • 1970-01-01
              • 2012-05-15
              • 1970-01-01
              相关资源
              最近更新 更多