gpt4 book ai didi

javascript - 通过 Javascript 更新地址栏

转载 作者:行者123 更新时间:2023-11-30 08:15:39 24 4
gpt4 key购买 nike

现在我仍然知道在不更改页面的情况下更改位置栏的内容是不可能的(是的,我不是在谈论#)。我最近注意到 github.com。他们是如何在他们的网站上做到这一点的?当用户点击浏览器的后退或下一步按钮时,他们可以很容易地得到一个事件。 dojo.back 也有这个功能。但是如何在不离开页面的情况下使用 javascript 更改地址栏?

最佳答案

有两种方式:

  • HTML5 的 pushState()函数。例如,Facebook 和 Github 就使用它。它允许您修改完整的 URL 并在历史状态更改时触发事件处理程序。 Mozilla 有一个 good overview .
  • 旧的变体是使用 URL 的 hash 部分(Twitter 就是这样做的)。这意味着您更改 window.location.hash,监视它的更改,并根据该散列值加载适当的内容。但是,这意味着当用户请求时,比如说 http://twitter.com/#!/27c3/status/18331752900591616 ,只有散列符号之前的部分是从网络服务器请求的,散列之后的所有内容客户端的业务。这意味着服务器还不能决定将什么内容交给客户端。

关于javascript - 通过 Javascript 更新地址栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com