2012-02-21 54 views
5

語境

我意識到,在Twitter的,個人資料頁顯示在根據不同的方面,這怎麼叫:Twitter如何即時顯示我的個人資料?

  1. 通過點擊菜單,DOM和最新的個人資料鏈接tweets被加載,並且頁面在〜4秒內顯示。每一次。
  2. 使用鍵盤快捷鍵GP(或左側的鏈接),頁面即時顯示。

詳細

  • 我注意到,配置文件必須最近已顯示GP即時顯示的頁面。
  • 通過關閉和打開瀏覽器,配置文件必須再次顯示GP即時顯示頁面。

調查

所以剛開始我還以爲微博可以使用服務器端的會話變量來存儲數據。然後我在Twitter源代碼中發現了localStorage的使用。我承認,DOM storage對我來說並不熟悉,Twitter的JavaScript代碼是不可讀的。所以我不確定他們使用localStorage來存儲配置文件。

問題

關於Twitter DOM存儲/會話存儲的任何假設,相關信息或鏈接?

回答

5

這是一個有趣的問題,所以我去了twitter,並自己做了一些調查。

點擊我的個人資料名稱,鏈接完成與AJAX。我看到我的時間線正在下載。但是,頁面已經預先加載,所以我的信息也已經下載。

通過點擊左邊的鏈接,或者用GP你只顯示網頁已裝上(隱藏,或JavaScript對象,所以在內存中)。它只會顯示您已下載的個人資料,並通過AJAX下載資訊提供(JSON)。

URL將從https://twitter.com/#!/更改爲https://twitter.com/#!/wraldpyk(在我的情況下)。

當您在菜單中點擊您的配置文件(右上角)時,您將轉至https://twitter.com/wraldpyk。這將重新打開該頁面,並將下載所有內容。請注意,您將得到儘可能我可以告訴重定向到https://twitter.com/#!/wraldpyk,同時你的時間表也被下載(打開Firebug和看到的圖像和飼料得到下載)

,沒有本地存儲(除了在JavaScript中,像其他人一樣)已經完成了。所有數據都會在新頁面加載時不斷下載。

當您在個人資料上輸入gh時,會發生同樣的事情。(並與所有其他快捷鍵)

+0

好吧,我不明白如何一個JavaScript對象可以從一個頁面移動到另一個。我搜索沒有找到,最後我問了我這個問題:[什麼是#!在Twitter的URL??(http://stackoverflow.com/questions/3009380)。所以'https://twitter.com/#!/'和'https://twitter.com/#!/ wraldpyk'是同一個頁面嗎? – 2012-02-22 01:03:36

+0

是的,他們確實如此。通常它被用於Anchors(http://www.hypergurl.com/anchors.html)。它不會使頁面刷新。 – 2012-02-22 08:16:33

相關問題