2013-05-27 63 views
1

我正在使用Javascript來隱藏站點每個頁面上的站點地圖(以便在JavaScript禁用的瀏覽器中可見)。然後,我使用JQuery切換來允許用戶顯示站點地圖(使用每個頁面頁腳中的「站點地圖」鏈接)。如何跟蹤用戶偏好狀態從頁面到頁面

每當用戶導航到另一個頁面時,站點地圖「重新隱藏」,但我想保持跨頁面的站點地圖的可見性。

換句話說:網站地圖應該隱藏起來,但是如果用戶切換站點地圖的可見性,它應該在用戶瀏覽頁面時保持可見,直到用戶再次隱藏。

+0

搜索會話 – xyz

+0

您是否嘗試過使用cookie? – rath

+0

鏈接到一箇舊問題時存在問題,因爲Cookie大多數都是由新的存儲技術取代。這就是說,可能還有其他更近期的類似問題。 –

回答

0

最好的解決辦法,現在是使用localStorage

// read 
var hidden = localStorage['hidden']=='yes'; // defaults to false at first visit 

// write 
localStorage['hidden']= hidden ? 'yes' : 'no'; 

這些值存儲,並提供爲您的網站(更準確地說是起源)和所有頁面都不太容易出現「清潔」(外部工具或在瀏覽器中)比Cookie。

+0

在選擇使用html5方法之前,請務必檢查兼容性圖表(請參閱http://www.html5rocks.com/en/features/storage),並確定是否需要支持非支持的瀏覽器(例如:ie7) 。如果您需要支持較舊的瀏覽器,則無法使用。 –

+0

ie7不再是可支持的瀏覽器。在ie7上幾乎沒有現代頁面是正確的,沒有人關心。 –

+0

這就是爲什麼我沒有 - 投票。但舉個例子:我爲一家沒有升級到ie8的醫院開發了基於網絡的軟件,因爲它打破了現有的基於網絡的軟件。它們可能會在更新前至少一年。這不是一個理想的網頁開發工作.. –

0

設置一個cookie。

閱讀How do I set/unset cookie with jQuery?討論如何做到這一點。討論如何做到這一點。

Cookie允許您跟蹤用戶偏好客戶端,因此您不必依賴基於服務器的代碼。