比方說,我有一個網址:http://example.com/person/list書籤阿賈克斯頁
這個網站將顯示一個人的列表。人的名單變得很長,所以最終我建立了分頁。假設每頁有10個人。該URL看起來是這樣的:
http://example.com/person/list?page=2
如果我點擊下頁鏈接,我將採取3頁:
http://example.com/person/list?page=3
這是一件好事,因爲如果我複製和粘貼給朋友的網址,她會立即轉到第3頁。
假設我現在合併了AJAX,並且頁面請求是使用jQuery的ajax調用。原始網址爲http://example.com/person/list,當用戶點擊下一頁鏈接時,地址欄中的網址不會更改。
這很糟糕,因爲如果我在第3頁上,地址欄中的網址不再反映這一點。
有多個jQuery歷史插件會改變URL,但是,這些只會改變哈希標記#之後的URL部分。哈希標記之後的信息不會發送到服務器。
如果我使用的是歷史的插件,該URL可以改爲http://example.com/person/list#page=2
我的問題,這種做法是:如果有人複製和粘貼此URL給朋友,當朋友請求這個URL,我不知道用戶打算查看哪個頁面。因此,我最好的方法是將所有人員條目加載到頁面上,並根據散列標記之後的信息讓javascript選擇要顯示的頁面。這是一個問題,因爲我開始對頁面進行分頁以減少首先從服務器上拉回的信息量!
我有什麼選擇,這樣我就可以使用Ajax的後退按鈕,但也有可收藏的鏈接,不需要我從服務器獲取所有信息。
的確,只要看看Gmail或谷歌閱讀器(工作應用程序,而不是巨大的下載代碼),以瞭解如何處理。 – Omiod 2011-01-11 15:59:26