Javascript:如何在不刷新页面的情况下更改地址栏中的 URL?

发布于 2024-12-11 21:48:26 字数 332 浏览 0 评论 0 原文

可能的重复:
怎么做我使用 JavaScript 更改浏览器中的 URL,而不加载新页面?

我注意到 GMail 和 GrooveShark 等网络应用程序可以更改浏览器地址栏中的 URL,而无需刷新页面。 Ajax显然是用来改变内容的。如何更改网址?

Possible Duplicate:
How do I, with JavaScript, change the URL in the browser without loading the new page?

I noticed that web apps like GMail and GrooveShark can change the URL in the address bar of my browser without refreshing the page. Ajax is obviously used to change the content. How can I change the URL?

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

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

发布评论

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

评论(2

养猫人 2024-12-18 21:48:26

Gmail 和 Grooveshark 仅更改哈希值,这是通过更改来完成的:

location.hash = 'blah'

如果您的目标是支持 HTML5 的浏览器,则可以使用 window.history.pushState 和 window.history.popState,请参阅 http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page

Gmail and Grooveshark only change the hash, this is done by changing:

location.hash = 'blah'

If you target HTML5 enabled browsers, you can use window.history.pushState and window.history.popState, see http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page

朱染 2024-12-18 21:48:26

您可能想查看 HTML5 推送状态。我知道 iQuery Mobile 正在使用此功能来修改位置 URL,而不触发页面加载,这可能是适合您的解决方案。

https://developer.mozilla.org/en/DOM/Manipulated_the_browser_history

以下是其工作原理的示例:

window.history.pushState(data, "Title", "/new-url");

You may want to look into HTML5 push state. I know iQuery Mobile is using this feature to modify the location URL without triggering a page load and it might be the right solution for you.

https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

Here is an example of how it works:

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