在不重新加载页面的情况下更改URL

时间:2010-08-01 08:22:52

标签: javascript jquery html

我想知道是否可以在不重新加载页面的情况下更改浏览器中URL的内容?

我使用jQuery和Ajax来加载页面的新部分。当我选择“产品一”时,直接链接为mysite.com/product1,“产品二”为mysite.com/product2,但我不想将网站重新加载到这些网页。

7 个答案:

答案 0 :(得分:15)

现在可以使用HTML_5 ..

查看此链接... http://www.spoiledmilk.dk/blog/?p=1922

还有Facebook和谷歌在哈希(#)属性旁边使用这个三元组

答案 1 :(得分:12)

如果您想阻止重新加载页面,则必须添加哈希#

css-tricks.com有一个很棒的截屏视频,请看:

Best Practices with Dynamic Content

答案 2 :(得分:7)

这在HTML5中是可行的。观看演示 here

您可以将URL更改为同一域中的其他URL,但出于安全原因无法更改域。

有关详细信息,请参阅HTML5 specification中的history界面。

答案 3 :(得分:7)

只使用这个

window.history.pushState("object or string", "Title", "/new-url");

答案 4 :(得分:1)

CAN 这样做。虽然你可能需要一个现代化的浏览器。请查看此页面:由谷歌Chrome团队创建的http://www.20thingsilearned.com/(我使用Chrome 9阅读它)。更改页面不会重新加载整个网页,但会更改URL。

答案 5 :(得分:1)

是的,可以使用HTML5 History API。查看this pagethis example

答案 6 :(得分:-3)

你做不到。只有你改变了哈希,就像sAc告诉你的那样。

但是......我可以问为什么?