如何顺利地用新的URL和相应的内容重新加载页面,以使页眉不会闪烁?例如,如果在Twitter上我单击菜单项“主页”,“连接”,“发现”,则标题保持显示,没有闪烁。我知道可以做到的唯一方法是使用Javascript,但是Javascript无法更改URL。 Twitter网站背后的魔力是什么?

最佳答案

他们只是在使用ajax。

标头不会闪烁,因为它不会更改。 Ajax调用要求提供数据,并在获取数据时将其插入主体。

对于身体

如果不想在更改内容时进行突然更改,可以使用效果功能淡入新内容。

如果要在一次上传中加载静态数据,则可以使用CSS display属性浏览静态内容。

您会看到浏览器没有加载新的URL,因为没有指示符。

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

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

For ajax - Hashes vs HTML 5 History API?

对于Twitter:

他们使用CSS来翻页,因为ajax指示器和加载指示器在初始ajax调用后没有点亮。

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

要动态更改URL,请参见:

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

10-04 22:15
查看更多