我在一些html页面的开头看到的大块javascript是什么?

时间:2014-06-30 17:27:01

标签: javascript html

我正在努力提高我对源代码的读写能力,但是当我查看某个网站的网页来源时,我会发现一个看似javascript代码的巨大墙。

这个网站就是一个很好的例子: http://www.torontossc.com/

当我查看页面源时,我不知道如何处理那个巨大的墙,所以我有一些问题/逻辑推论。

  1. 代码墙位于<script>标签中,所以我假设它必须是javascript。但我很困惑为什么它以如此难以理解/混乱的格式出现。当然必须有这样的理由。

  2. 我下载了源代码并查看了html页面,并注意到当我在运行时没有查看源代码时,该块不存在 - 只有一个外部引用的脚本代替它。我正在看到实际脚本本身的代码墙,它是否在页面加载时运行?

  3. 我进一步挖掘并发现脚本是facebook sdk的一部分。这是否意味着每当我看到这样的代码墙时,它通常是导入的脚本,用作API的一部分/与其他网站集成?如果是这种情况,那么我应该假设它的杂乱性和密度仅仅是为了紧凑性

  4. 如果我的上述假设是正确的,那么学习javascript会让我完全理解代码墙吗?

  5. 我希望通过演绎来回答我自己的问题,但希望有人能证实。

    谢谢!

1 个答案:

答案 0 :(得分:4)

  

代码墙在标签中,所以我假设它必须是javascript。

是的,它在那里清楚地打印出来:<script type="text/javascript">

  

但我很困惑为什么它会以如此难以理解/混乱的格式出现。当然必须有这样的理由。

它是minified,这是一种混淆形式,它使JavaScript下载更小,更难以进行逆向工程。

  

我下载了源代码并查看了html页面......

这可能打破了很多东西。您无法下载页面而无需下载所有相对引用的路径。

  

这是否意味着每当我看到这样的代码墙时,......

不,除了它以外,你没有什么可以说的代码

  1. 内联
  2. 缩小的
  3.   

    如果我的上述假设是正确的,那么学习javascript会让我完全理解代码墙吗?

    不,没有人以这种方式编写代码,没有人(很容易)理解以这种方式编写的代码。计算机压缩/缩小代码,并理解它你需要学习JavaScript,然后无法解释代码,这是一个远非完美的过程。许多形式的缩小是“破坏性的”#34;因为它不可能回到原始源代码。人类可读的令牌通常会变成单个字符,并且无法撤消此过程,原始的人类可读名称会丢失。