2012-12-19 104 views
1

如何順利重新加載新網址及其相應內容,以便標題不閃爍?例如,如果在Twitter上點擊菜單項「主頁」,「連接」,「發現」,標題將保持顯示,不會閃爍。我知道這一點的唯一方法就是使用Javascript,但Javascript不能更改URL。 Twitter的網站背後有什麼魔力?網址更改無閃爍

+0

謝謝你,你的答案是你提到AJAX有用。但我仍然需要找出如何更改網址。這點我不清楚。 – ideaboxer

+0

http://stackoverflow.com/questions/136458/change-the-url-in-the-browser-without-loading-the-new-page-using-javascript - 這裏是如何。 – 2012-12-20 14:55:06

+0

119 upvotes的答案,是否適合你? – 2012-12-20 20:31:16

回答

0

他們只是簡單地使用ajax。

標題不閃爍,因爲它不會更改。 ajax調用請求數據,當它獲取它時,它將它插入到body中。

爲體,

如果你想加載你的靜態數據。您可以使用特效功能新內容褪色,如果你不想要的突然變化時,它是ajaxed。

在一次上傳中,您可以使用CSS顯示屬性翻閱靜態內容。

您可以看到瀏覽器沒有加載新的url,因爲沒有指示器。

此外,你可以看到twitter的ajax指標正在運行。

爲了保持你的ajax調用的歷史使用信息。從這個帖子:

For ajax - Hashes vs HTML 5 History API?

對於Twitter的:

他們正在使用CSS通過網頁作爲Ajax指示燈和負載指示燈翻轉初始Ajax調用後不亮。

您可以通過在控制檯中執行window.history.back()來驗證他們是否正在使用歷史記錄。

要更改URL動態看:

Change the URL in the browser without loading the new page using JavaScript

0

您可以使用history.pushState來操縱currient url。並用ajax函數重新加載頁面。

+0

history.pushState僅適用於IE 10 – freedev

+0

誰在乎IE?在瀏覽器中沒有任何工作是正常的。 – rekire

+0

@freedev你不會錯。 – Jason