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的内容是动态加载的吗?的主要内容,如果未能解决你的问题,请参考以下文章