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