2012-02-21 483 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

相关问题