[英]How can I change URL without refreshing page like Google+?
當我檢查 Google+ 時,當我看到 URL 的使用時,我感到很驚訝。 Google 個人資料 URL 更改而不刷新頁面。 For example this is a photos tab URL: https://plus.google.com/104560124403688998123/photos When you click Videos tab, URL exactly goes to https://plus.google.com/104560124403688998123/videos without refreshing page. 谷歌編碼員是如何成功的?
看看歷史 object https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
尤其是 history.pushState 和 history.replaceState
(應該提到這僅適用於現代瀏覽器,舊瀏覽器使用哈希)。
這是關於 HTML 5. 看看“onpopstate event”。 欲了解更多信息 go 到鏈接。 http://spoiledmilk.dk/blog/html5-changeing-the-browser-url-without-refreshing-page
您可以嘗試使用 pushState。 您可以在同一域內將URL更改為另一個URL,但出於安全原因不能更改域。在Javascript中,您可以使用。
window.history.pushState(“對象或字符串”, “標題”, “/new-url”);
Object 和字符串是您的域 ex。 www.google.co.in 標題你可以給你想要的。 最后你放置新的 url ex。 'webhp?source=search_app'
前任。 window.history.pushState(“www.google.co.in”, “谷歌”, “/webhp?source=search_app”);
您可以嘗試使用 hash。 這不是谷歌的做法,但它不會強制刷新。 在 Javascript 中,您可以使用
parent.location.hash = "Text";
這樣 URL 將是http://yoursite.com/yourpage#text
編輯:這對 Google+ 來說似乎是新的。 GMail 使用 hash 之類的
https://mail.google.com/mail/u/1/#inbox/130f48da33c5330
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.