是" history.pushState"更改网页内容?

时间:2015-01-23 17:54:57

标签: javascript ajax html5-history

我是初学者,希望能帮助理解这些问题,谢谢〜

对于像youtube.com这样的网页,它使用ajax + history:

  1. 执行" pushState"重新加载页面?

  2. 如果我将一些java脚本注入此网页,是否会删除或替换DOM Element I注入?这会发生什么时候?

  3. 如果发生这种情况,如何重新注入DOM元素以使其显示,或者如何防止DOM元素被删除......?

1 个答案:

答案 0 :(得分:1)

  

执行" pushState"重新加载页面

没有。它会更改URL并在历史记录中存储一些数据(您将其作为参数传递给它)。它根本不会改变页面。

当您编写其他更改页面状态的代码时,您应该使用pushState。 (并且您应该更改页面的状态,以便与您在传递给pushState的URL处新加载页面时相同。

然后,当您收到popState事件时,您需要将页面状态更改回主机(使用存储的数据)。