facebook的内容是动态加载的吗?

Posted

技术标签:

【中文标题】facebook的内容是动态加载的吗?【英文标题】:Is facebook's content dynamically loaded? 【发布时间】:2012-06-25 06:35:07 【问题描述】:

当在 facebook 上单击链接时,顶部标题栏根本不会闪烁。我习惯于在通过 ajax 加载内容的页面上看到这种效果,但在 Chrome 上,url 正在改变,据我所知,这意味着加载了一个新页面。

javascript 中,我知道没有重定向就无法更改 url,但主题标签可以,所以我觉得这很有趣。我认为这可能是 chrome 所做的事情,它会先加载一个网页,然后再将您从上一个网页中移除以创建无缝体验,因此我在 Internet Explorer 上进行了尝试。在 IE 上,效果相同,但这次 url 没有改变,只是 hashtag。我也试过 FireFox,它改变 URL 的方式和 chrome 一样。

这里发生了什么?

【问题讨论】:

diveintohtml5.info/history.html 【参考方案1】:

是的,它加载了 AJAX。并且网址已更改by manipulating the history。一个名为 HistoryJS 的不错的库也使用哈希更改为不支持的浏览器包装了此功能。

【讨论】:

【参考方案2】:

不确定 Facebook 是否是这种情况,但 History API 允许您以编程方式更改 URL - 只要您遵守 same origin policy。 GitHub 是不显眼地使用这种技术的一个很好的例子。

【讨论】:

【参考方案3】:

在现代浏览器中,可以通过 history.pushState() 函数更新 URL 而无需重新加载页面。

例子:

history.pushState(, "", "foo.html");

【讨论】:

我认为它是这样的,但我来到***.com/questions/6478485/…,它是相对较新的,所以我认为它仍然是正确的。谢谢!

以上是关于facebook的内容是动态加载的吗?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 在滚动时动态加载数据

Jquery 选择器不适用于动态 .get 加载的内容

android--动态加载插件化

python爬取iframe动态加载的内容

动态加载内容[重复]

Python爬虫-05:Ajax加载的动态页面内容