如何在不重新加载页面的情况下更改地址栏中的URL?

Jul*_*mon 6 javascript url

Shopify如何做到这一点?转到他们的网站,点击功能链接,您会看到浏览器地址栏中的URL显示:

http://www.shopify.com/tour/sell-online

然后单击任何子链接,您将看到地址栏中的URL更改而不使用哈希,并且没有页面翻转.

我不认为他们使用ajax来更改内容,因为它似乎都包含在页面上的隐藏div中,但无论如何,您显然可以使用客户端技巧更改URL.感谢您的帮助?

Den*_*ret 9

您使用新的HTML5历史记录API来推送新状态.

这是MDN文档一个很好的教程.

请注意,这样做通常很痛苦(您必须正确管理应用程序的状态),并且它不适用于IE9.它几乎总是与ajax结合使用:即使整个页面没有重新加载或更改,它也是允许动态加载的内容可加入书签的解决方案.