【问题标题】:How do I refresh content in the page and update the URL without doing a full page reload?如何在不重新加载整个页面的情况下刷新页面中的内容并更新 URL?
【发布时间】:2010-12-04 00:28:48
【问题描述】:

我认为 JavaScript 不允许您在不刷新整个页面的情况下更新浏览器的 URL(用于书签等)。不过,Facebook 似乎在他们的照片应用程序中实现了这一点。当我单击“下一步”查看下一张照片时,新照片会加载并且 URL 会更新,但整个页面不会刷新。有谁知道他们是如何做到这一点的?

【问题讨论】:

  • 他们可能只是改变了 URL 的片段(第一个 # 字符之后的部分)。

标签: javascript url facebook


【解决方案1】:

他们不更新 URL 本身,他们只更新哈希(即 # 后跟指令)。哈希永远不会发送到服务器,但可用于转到 DOM 中的锚点(内置浏览器功能),或用作 JavaScript 的挂钩。在设置了散列变量的页面加载后,它们会发送一个 Ajax 请求以获取相应的照片。但是,初始页面加载将加载由 # 字符之前的 url 指示的图片。

【讨论】:

  • 我一直想知道他们疯狂的网址,中间有锚。现在我明白了一些动机。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 2019-03-02
  • 1970-01-01
相关资源
最近更新 更多