Twitter如何立即显示我的个人资料?

时间:2012-02-21 23:16:15

标签: javascript ajax session twitter local-storage

上下文

我意识到在 Twitter 中,个人资料页面会以不同的方式显示,具体取决于其调用方式:

  1. 通过单击菜单中的配置文件链接,将加载DOM和最新推文,并在~4秒内显示该页面。每一次。
  2. 使用键盘快捷键 GP (或左侧的链接),页面会立即显示。
  3. 详细

    • 我注意到最近显示的配置文件 GP 会立即显示该页面。
    • 关闭并打开浏览器后,必须再次显示配置文件, GP 会立即显示该页面。

    研究

    首先,我认为Twitter可以使用服务器端会话变量来存储数据。然后我发现在Twitter源代码中使用了 localStorage 。我承认,DOM storage对我来说并不熟悉,Twitter的JavaScript代码也不可读。所以我不确定他们使用localStorage存储配置文件。

    问题

    关于Twitter DOM存储/会话存储的任何假设,信息或链接?

1 个答案:

答案 0 :(得分:5)

这是一个有趣的问题,所以我去推特,并自己做了一些调查。

点击我的个人资料名称,链接完成了AJAX。我看到我的时间表被下载了。但是,该页面已经提前加载,因此我的信息也已下载。

通过单击左侧的链接,或使用 GP ,您只需显示已加载的页面(隐藏,或在JavaScript对象中,因此在内存中)。它只显示已下载的配置文件,并通过AJAX下载源(JSON)。

网址将从https://twitter.com/#!/更改为https://twitter.com/#!/wraldpyk(在我的情况下)。

当您在菜单(右上角)中点击个人资料时,转到https://twitter.com/wraldpyk。这将重新打开页面,并将下载所有内容。请注意,您将被重定向到https://twitter.com/#!/wraldpyk,同时您的时间线也会被下载(打开FireBug并查看图片和Feed被下载)

据我所知,没有本地存储(除了JavaScript,就像每个人一样)。所有数据都会在新页面加载时不断下载。

在您的个人资料中键入 gh 时会发生同样的事情。 (以及所有其他快捷方式)

相关问题