如何在不刷新像Google+这样的网页的情况下更改网址?

时间:2011-07-04 23:18:30

标签: javascript html

当我查看Google+时,当我看到网址的使用时,我感到很惊讶。 Google个人资料网址更改时不会刷新页面。例如,这是一个照片标签网址:https://plus.google.com/104560124403688998123/photos当您点击视频标签时,网址会在没有刷新页面的情况下完全转到https://plus.google.com/104560124403688998123/videos。谷歌如何成功实现这一目标?

4 个答案:

答案 0 :(得分:6)

查看历史记录对象https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

尤其是history.pushState和history.replaceState

(应该提到这只适用于现代浏览器,旧版本使用哈希)。

答案 1 :(得分:1)

这是关于HTML 5.看看“onpopstate事件”。有关详细信息,请转到链接。 http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page

答案 2 :(得分:0)

您可以尝试使用pushState。 您可以将URL更改为同一域中的其他URL,但出于安全原因无法更改域。在Javascript中,您可以使用。

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

对象和字符串是您的域名。 www.google.co.in 标题你可以给你想要什么。 最后你放置了新的网址。 'webhp?源= search_app'

离。 window.history.pushState(“www.google.co.in”,“Google”,“/ webhp?source = search_app”);

答案 3 :(得分:-1)

您可以尝试使用哈希。这不是谷歌的做法,但它不会强制刷新。在Javascript中,您可以使用

parent.location.hash = "Text";

以便网址为http://yoursite.com/yourpage#text

编辑:这似乎是Google+的新功能。 GMail使用像

这样的哈希
https://mail.google.com/mail/u/1/#inbox/130f48da33c5330