如何使用Javascript或PHP存储手风琴菜单的状态(打开或关闭)

时间:2011-03-21 01:17:52

标签: php javascript

我认为它可以通过cookie或会话完成,但是如果用户打开一个项目并离开,记住手风琴菜单状态的最佳方法是什么?当用户回到网站时,如何在该状态下“打开”项目?

我刚刚使用新界面升级了我的自定义CMS,新菜单需要这样的东西,否则可用性会受到很大影响。

我不需要具体细节,只是你通常会这样做。

谢谢!

4 个答案:

答案 0 :(得分:2)

我认为您需要将其保存到数据库或使用local storage(并非所有浏览器都支持)。 Cookie可以使用,但用户可以删除它们(本地存储也可以删除)。会话不起作用,因为一旦用户关闭浏览器,他们就会失去会话。

保存到数据库或平面文件是最安全的方法。

答案 1 :(得分:2)

答案 2 :(得分:1)

与大多数事情一样,取决于它。

如果这会产生服务器端请求,那么将其存储在全局会话中将是完全可以接受的。

如果不是,那么你需要找到一些其他方法来存储它的客户端。这些内容包括将其存储在javascript中(仅可用于页面的生命周期),cookie(如您所提到的)或者像本地存储中提到的Bryan Downing。本地存储尚未获得良好的浏览器支持。

答案 3 :(得分:1)

您是否希望无论他们从哪台计算机登录,都要记住它?如果您这样做,则在与该用户关联的表中设置一个简单值,以确定哪个项目处于打开状态,以便下次返回时可以打开。

我使用jquery UI手风琴,并且很容易更新上次选择选项的字段,因此下次用户返回时我可以记住它们。我通过一个简单的ajax调用来完成这个操作,从DB请求值并将其作为变量返回到我的javascript,然后用于设置打开的accordion部分。

如果你不担心在不同的设备上记住,那么一个简单的cookie应该可以解决问题,只需在每次选择时更新cookie。