我目前正在为一个Web应用程序的JS菜单工作.它由两个条形组成,固定的主条形和子菜单通过Javascript功能激活(显示:从display:block中阻止).通过onclick事件添加class ="main_on"和class ="sub_on",也可以突出显示主菜单和子菜单的选定选项.有没有办法记住当用户点击F5或页面重新加载时哪些子菜单显示以及哪些选项当前被归类为活动?如果可能的话,我正在寻找一种非cookie和非数据库方法.
谢谢,
麦克风
您可以使单击的链接/元素(对于onclick事件)在地址栏中设置URL哈希.(即http://server.name/page#URLhash)如果它是一个链接,你只需要调整HREF属性,否则你可能需要使用window.location进行操作.
这设置了当前状态.页面(重新)加载时,检查URL哈希的值.有关如何访问它的详细信息,请参阅http://developer.mozilla.org/en/DOM/window.location.如果URL哈希仍在地址栏中,您将能够获得该值.
然后使用该值确定要激活的菜单.因此,您可以通过这种方式恢复状态.
浏览器之间存在一些差异.搜索"Ajax历史记录",其中有些人使用URL哈希来保存Ajax操作后的状态.不是你试图解决的完全相同的问题,但相似.查看RSH:http: //code.google.com/p/reallysimplehistory/
将使用相同的想法.