网址更改没有闪烁

时间:2012-12-19 23:06:52

标签: javascript twitter reload

如何使用新的URL和相应的内容顺利重新加载页面,以便标题不会闪烁?例如,如果在Twitter上我单击菜单项Home,Connect,Discover,标题保持显示,没有闪烁。我知道这一点的唯一方法是使用Javascript,但Javascript无法更改URL。 Twitter网站背后的魔力是什么?

2 个答案:

答案 0 :(得分:0)

您可以使用history.pushState来操纵当前网址。并使用ajax函数重新加载页面。

答案 1 :(得分:0)

他们只是使用ajax。

标题不会闪烁,因为它不会更改。 ajax调用询问数据,当它获取数据时,它会将其插入到正文中。

对于身体,

如果您在新内容中不想要突然更改,则可以使用效果函数淡入新内容。

如果您想在一次上传中加载静态数据,则可以使用CSS显示属性翻转静态内容。

您可以看到浏览器未加载新网址,因为没有指示符。

此外,您可以看到Twitter的ajax指示符正在运行。

要保留ajax调用的历史记录,请使用info。从这篇文章:

For ajax - Hashes vs HTML 5 History API?

对于Twitter:

他们正在使用CSS翻阅页面,因为ajax指标和负载指示器在初始ajax调用后没有亮起。

您可以通过在控制台中执行window.history.back()来验证他们是否正在使用历史记录。

要动态更改网址,请参阅:

Change the URL in the browser without loading the new page using JavaScript