我想要像它在Facebook上,當用戶瀏覽這些照片做實現內容瀏覽。我想大家都熟悉那張照片瀏覽器,你可以點擊「下一張」和「上一張」,然後立即獲取下一張或上一張照片(也可以使用箭頭鍵進行導航)。「重定向」頁面沒有刷新(Facebook的照片風格)
當您單擊例如,你會注意到網頁不刷新「下一步」 - 唯一的內容。起初,我認爲這是使用純ajax調用完成的,它只刷新了「內容」,在這種情況下,圖像,描述和評論。但後來我注意到,我的瀏覽器的「位置」工具欄中的URL也被更改了! 我試圖檢查這個使用Firebug,並發現,當你點擊「下一步」只下載的下一張照片,我仍然不知道從評論&圖像元數據(描述,時間,標籤,...)是加載。
能有人請解釋這個技術是如何實現的 - 無需刷新頁面頁面URL變化(甚至沒有網頁「閃爍」,如果它從緩存刷新)。 我知道如何使用Ajax來改變網頁內容,但該網頁的網址保持不變所有的時間。如果我點擊「刷新」按鈕,我會再次獲得第一頁。但不是在Facebook上,因爲即使「window.location」每次都改變而沒有實際的重定向。
我注意到的另一件事是,底部工具欄(應用程序,聊天,...)是「總在最前面」。即使更改的頁面,這個工具欄不刷新,始終走在最前面 - 它甚至不「眨眼」一樣,刷新(無論是從網絡服務器或從本地緩存)其他頁面。我想這是與上述相同的技術 - 某種「假」重定向或什麼?
答案是pushState的
if (window.history.pushState)
window.history.pushState([object or string], [title], [new link]);
你會微笑:)
對於它的價值[(在IE8 +,其餘的大多數支持) History.js](https://github.com/balupton/History.js)提供相同的HTML5 API而正常降解不支持它的任何瀏覽器(包括用於數據和標題,及replaceState功能的支持)。使用這將意味着你不必爲IE9的變化而改變你的代碼。 – balupton 2011-02-09 15:07:20