2015-09-06 225 views
-1

今天我使用的是Facebook,我意識到每次更改頁面時,即使URL不同,例如,如果您位於時間軸上並點擊了個人資料,聊天也不會刷新。如何更改頁面而不刷新整個頁面?

我想知道如果您知道如何做到這一點或從哪裏可以找到有關此行爲的信息。

編輯

我讀過很多答案,讓使用Ajax,但這並不改變URL。

在此先感謝!

+0

Downvote?爲什麼? :C –

+3

你沒有表現出解決你自己問題的任何企圖,而這個問題太廣泛了。如果你的問題試着用google搜索標題。 – zzzzBov

+0

@zzzzBov我已經這樣做了,但所有的答案都使用jQuery.load,並且這不會更改URL –

回答

2

您可以通過發出AJAX調用(即使用XMLHttpRequest)爲頁面的一個或多個部分獲取HTML或數據(通常爲JSON,但可以採用其他格式)來加載頁面的一部分,然後只是在原地更新頁面的這些部分。但是,在完成此操作後,您在技術上不會更改您所在的頁面(客戶端散列通常會更新以跟蹤當前狀態,但在這種情況下路徑和服務器端查詢參數不會更改) 。當以這種方式更新頁面時,History API(特別是pushState())允許JavaScript在不導致整頁重新加載的情況下導致URL。

這是多少個網站實現「單頁應用程序」。