3

在浏览 Facebook 源代码时,我偶然发现了一些我无法解释的东西。如果您访问http://www.facebook.com/YOURUSERNAME/allactivity并查看源代码 command/ctrl F 并查找标签:

<code class="hidden_elem"

在第三个或第四个中,您将看到包含(必须是)为 allactivity 页面生成的代码的标签。

但是,它是用 HTML 注释 ( <!---->) 包装的。谁能告诉我这样做有什么好处,和/或代码最终是如何执行的?此外,他们如何使用 ajax 提取该代码?(似乎它们基于向下滚动生成更多)

4

1 回答 1

2

看起来它是代码,它是不同子菜单的内容(在左侧)。我的猜测是,当您单击其中一个菜单时,它对应于特定评论的父容器的 ID。(例如,在我的作业历史记录位于 ID 为 u_0_2a 的代码节点下)。然后它获取子节点并在单击适当的链接时评估 innerHTML。

我的猜测是,他们这样做有几个原因。

  1. 它消除了对服务器的额外请求的需要。
  2. 评估加载的数据比加载新数据要快。
  3. 注释不会显着影响渲染时间。
  4. 如果文本被注释,则 CSS 更简单(不用担心隐藏 div,它们根本不存在)。
于 2013-06-25T05:39:45.117 回答