【问题标题】:Dynamically change address in the URL bar在 URL 栏中动态更改地址
【发布时间】:2014-03-29 04:17:33
【问题描述】:

好的,我在 Stack 网站上似乎也有类似的问题,但其中一些问题早在四年前就被问到了,所以鉴于 HTML、jQuery 和 PHP 的最新发展,我相信会有新的解决方法。

假设我有一个域 www.mysite.co.uk,它有一个 ajax,一旦触发,就会清除默认的加载内容 #0,并将其替换为内容 #1。

(也可以通过访问 www.mysite.co.uk/1 访问此内容)

然后用户可能会触发另一个 ajax,它将清除内容 #1 并填充内容 #2。

这是我有问题的地方。因为点击后退按钮不会让用户回到内容#1(事实上,如果没有历史记录,后退按钮是灰色的)。

我想要做的是,当用户触发一个用内容#3 填充页面的 ajax 时,我还希望它将 URL 栏更改为 www.mysite.co.uk/3 ,因此这样在页面刷新时会加载相同的内容,而不是返回到默认内容 #0。

希望这是有道理的。

我知道 www.asana.com 会这样做,但不确定如何。

通过尝试解决这个问题,我已经长出了白发。

编辑:我见过一些例子,他们通过#anchoring 或使用 ?get_variable 来做到这一点,但我宁愿通过更改 URL 来做到这一点,就像 Asana.com 那样。

【问题讨论】:

    标签: ajax url browser-history


    【解决方案1】:

    您正在历史 API 中寻找 JavaScript 的 pushState() 方法:

    Manipulating the browser history

    注意:您可以在Can I use...上查看与浏览器的兼容性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2016-07-28
      • 2019-03-26
      • 2018-08-08
      • 2015-03-06
      相关资源
      最近更新 更多