2012-05-30 40 views
0

我正在使用jQuery ajax來加載內容到我的網頁。方法來維護:使用Ajax時,訪問過的鏈接,jQuery

當用戶點擊鏈接時,href會變成不同的顏色來表示他們點擊了該鏈接。然而,問題是,當頁面刷新ajax內容以加載其他內容,然後再回來時,用戶以前所做的href選擇不再被保留。

我正在尋找一種方法來跟蹤用戶瀏覽ajax網站時訪問的鏈接,以便所有a:visited鏈接保持持久。

內容是動態的,由MySQL數據庫提供。

+0

DOM的外觀如何? **你用ajax響應做什麼?**你是否覆蓋頁面中的頁面元素?在'a:visited?'中訪問過的':visited'是什麼? – gdoron

+0

只需向DOM插入新元素,不要覆蓋舊元素。 – gdoron

回答

1

如果您使用ajax來加載內容,我會假設如何跟蹤以前點擊的內容是否只是簡單地使用類?

$(document).on('click', 'a', function(e) { 
    e.preventDefault(); 
    //do some ajax stuff 
    $(this).addClass('visited'); 
}); 

FIDDLE

如果你重裝與阿賈克斯的內容,並期待訪問過的鏈接要記住,他們不會。您可能需要使用cookie,本地存儲或跟蹤服務器上單擊的內容,例如在會話變量中說的,該會話變量使用正在獲取內容的相同ajax調用中的正確鏈接進行更新。

接下來的問題就是爲什麼你要從數據庫中重新加載內容,而不是在頁面上已經存在的時候重新加載它。

+0

我相信他還有其他問題。他可能會在ajax響應方面做些事情。 – gdoron

+0

這是或多或少激動人心,我有和那個作品。我們稱之爲內容A.但是,當用戶加載內容B(刷新內容A),然後返回並再次加載內容A時,這些href選擇不再存在。 – Yahreen

+0

到你的編輯>>編輯>>好問題。我從來沒有考慮過分離內容。我可以做到這一點在jQuery或是在PHP中? – Yahreen