【问题标题】:Does "history.pushState" change web page content?“history.pushState”会改变网页内容吗?
【发布时间】:2015-01-23 17:54:57
【问题描述】:

我是初学者,希望对理解这些问题有所帮助,谢谢~

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

  1. “pushState”是否重新加载页面?

  2. 如果我在这个网页中注入了一些 java 脚本,我注入的 DOM 元素会被删除或替换吗?这什么时候会发生?

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

【问题讨论】:

  • 你必须关心内容,它只是一些状态保存。它是“动态”网站的“主要”系统
  • 谢谢~把“关心内容”的意思弄糊涂了……

标签: javascript ajax html5-history


【解决方案1】:

执行“pushState”重新加载页面

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

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

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

【讨论】:

  • 非常感谢!这很有帮助。会尝试学习更多的东西。有没有例子供参考?
猜你喜欢
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多