2011-03-21 62 views
1

我會想象它會用cookie或會話完成,但如果用戶打開某個項目時記住手風琴菜單狀態的最佳方式是什麼和葉子?當用戶回到網站時,我怎樣才能在該狀態下「打開」項目?如何使用Javascript或PHP存儲手風琴菜單的狀態(打開或關閉)

我剛剛用一個新界面升級了我的自定義CMS,並且新菜單需要類似這樣或可用性會受到很大影響。

我不需要細節,只是你通常會怎麼做。

謝謝!

回答

2

我想你需要將它保存到數據庫或使用local storage(這是所有瀏覽器都不支持的)。 Cookie可以工作,但可以被用戶刪除(本地存儲也是如此)。會話不會工作,因爲一旦用戶關閉瀏覽器,他們會失去他們的會話。

保存到數據庫或平面文件是最好的方法。

1

像大多數事情一樣,這取決於。

如果這是會引起服務器端請求的事情,那麼將其存儲在會話全局中將是完全可以接受的。

如果不是,那麼你需要找到一些其他方法來存儲它的客戶端。這些將包括諸如將其存儲在JavaScript(僅適用於網頁的生活),cookie(如您提到的)或像本地存儲提及的Bryan Downing一樣。本地存儲還沒有很好的瀏覽器支持。

1

無論您登錄的計算機是否您都希望它被記住?如果確實如此,請在與該用戶關聯的表格中設置一個簡單的值,以便哪個項目處於打開狀態,以便下次返回時可以打開該值。

我使用jQuery UI手風琴,並且很容易更新上一次選擇選項的字段,因此下次用戶回來時我可以爲他們記住它。我用一個簡單的ajax調用來完成此操作,以從數據庫請求值並將其作爲一個變量返回給我的javascript,然後用它來設置打開的手風琴部分。

如果你不擔心記住不同的設備,那麼一個簡單的cookie應該做的伎倆,只是每次做出選擇更新cookie。

+0

是的,跨設備的持久性並不重要。 Cookie是,謝謝! – 2011-03-21 01:41:18