我正在努力提高我的源代码素养,但是很多时候,当我查看网站的页面源代码时,我会发现一堵巨大的看似 JavaScript 代码的墙。
一个很好的例子是这个网站: http://www.torontossc.com/
当我查看页面源代码时,我不知道如何处理那堵巨大的墙,所以我有一些问题/逻辑推论。
代码墙位于
<script>
标签,所以我假设它一定是 javascript。但我很困惑为什么它以如此不可读/困惑的格式呈现。这肯定是有原因的。我下载了源代码并查看了 html 页面,并注意到当我不在运行时查看源代码时,该 block 不存在 - 只有一个外部引用的脚本代替它。那么我看到的代码墙是在页面加载时运行的实际脚本本身吗?
我做了进一步的挖掘,发现该脚本是 facebook sdk 的一部分。那么这是否意味着每当我看到这样的代码墙时,它通常是导入的脚本,用作 API 的一部分/用于与另一个网站集成?如果是这样的话,那么我是否应该假设它的困惑和密度只是为了紧凑
如果我的上述假设是正确的,那么学习 javascript 是否能让我完全理解代码墙?
我希望我已经通过演绎回答了我自己的问题,但希望有人能够确认。
谢谢!
最佳答案
The code wall is in tags, so I'm assuming it must be javascript.
是的,它清楚地印在那里:<script type="text/javascript">
。
But I'm confused about why it's presented in such an unreadable/cluttered format. Surely there must be a reason for that.
这是 minified ,一种混淆形式,可以使 JavaScript 下载更小并且更难以进行逆向工程。
I downloaded the source code and looked at the html page...
这可能破坏了很多东西。您不能只下载一个页面而不下载该页面的所有相对引用路径。
So does this mean that any time i see a wall of code like this, ...
不,除了代码之外,您无法得知任何信息
- 内联
- 缩小
If my above assumptions are correct, then would learning javascript allow me to fully understand that code wall?
不,没有人以这种方式编写代码,也没有人(很容易)理解以这种方式编写的代码。计算机压缩/缩小了代码,要理解它,您需要学习 JavaScript,然后取消代码缩小,这是一个远非完美的过程。许多形式的缩小都是“破坏性的”,因为不可能返回原始源代码。人类可读的标记通常会变成单个字符,并且无法撤消此过程,原始的人类可读名称会丢失。
关于javascript - 我在某些 html 页面开头看到的大块 javascript 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24495642/