2013-06-25 18 views
3

雖然在Facebook源代碼中徘徊,但我偶然發現了一些我無法解釋的東西。如果你去http://www.facebook.com/YOURUSERNAME/allactivity看看源代碼,命令/ CTRL F和查找標籤:任何人都可以解釋爲什麼Facebook似乎隱藏HTML註釋中的HTML代碼?

<code class="hidden_elem" 

在第三或第四個了,你會看到標籤包含(什麼必須)代碼爲allactivity頁面生成。

但是,它包含一個HTML註釋(<!---->)。任何人都可以告訴我這樣做的好處是什麼,以及/或者代碼最終如何執行?另外,他們如何將這些代碼與ajax綁定? (看起來它們根據滾動條生成更多)

+0

什麼樣的「評論標記」? –

回答

2

看起來它是代碼,它是不同子菜單的內容(左側)。我的猜測是,當你點擊其中一個菜單時,它對應於特定註釋的父容器的ID。 (例如,我的作業歷史記錄在ID爲u_0_2a的代碼節點下)。然後獲取子節點並在單擊適當的鏈接時評估innerHTML。

我的猜測是,他們這樣做有幾個原因。

  1. 它消除了對服務器的額外請求的需要。
  2. 評估加載的數據比加載新數據更快。
  3. 評論不顯着影響渲染時間。
  4. 如果文字被評論,那麼CSS更簡單(不用擔心隱藏div,它們根本不存在)。
+0

(當你考慮它時,它確實很聰明) – cwallenpoole

+0

你認爲他們如何評價它?感謝您的答覆。 – dysruption

+0

我的猜測是? '的eval(。的document.getElementById( 'u_0_2a')firstChild.innerHTML);' – cwallenpoole

相關問題