在“pushstate”上正确更新浏览器地址字段

发布于 2024-11-29 07:27:42 字数 513 浏览 2 评论 0原文

我通过ajax在网页中加载数据,并使用pushstate和popstate欺骗来更改浏览器地址字段。问题是我的ajax URL是这样的

2011/07/25/foo.txt 
2011/07/26/bar.txt 
2011/07/27/baz.txt

所以,第一次加载网页时,浏览器地址字段是http://webserver/。第一次 ajax 加载时,它变成 http://webserver/2011/07/25/foo.txt。在第二次 ajax 加载时,它变成 http://webserver/2011/07/25/2011/07/26/bar.txt。在第三次 ajax 加载时,浏览器 URL 字段将变为 http://webserver/2011/07/25/2011/07/26/2011/07/27/baz.txt。换句话说,只有地址字段的最后一个片段(在“/”上分割)被替换。

如何替换整个地址字段?

I am loading data in the web page via ajax, and using pushstate and popstate trickery to change the browser address field. The problem is that my ajax URLs are like so

2011/07/25/foo.txt 
2011/07/26/bar.txt 
2011/07/27/baz.txt

So, the first time the web page loads, the browser address field is http://webserver/. On the first ajax load, it becomes http://webserver/2011/07/25/foo.txt. On the second ajax load it becomes http://webserver/2011/07/25/2011/07/26/bar.txt. On the third ajax load the browser URL field becomes http://webserver/2011/07/25/2011/07/26/2011/07/27/baz.txt. In other words, only the last fragment of the address field (split on '/') gets replaced.

How can I replace the entire address field?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初与友歌 2024-12-06 07:27:42

将前导 / 添加到推送路径。

Add a leading / to the pushed path.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文