首页 > 代码库 > cookie 保存导航菜单的展开状态

cookie 保存导航菜单的展开状态

菜单展开状态保存,最开始是用session来存的,用session存没点击一次菜单就会多次访问后台页面,影响页面加载速度,后来改用js的cookie来存;代码如下

//获取cookie
        function GetCookie(name)
        {           
            var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));          
            if (arr != null) {               
                return unescape(arr[2]);
            } else {               
                return null;
            }
        }
 
        //设置cookie
        function SetCookie(name,value)
        {           
            var Days = 30;
            var exp = new Date();
            exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
            document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString()        
        }
但是测试的时候发先菜单会乱跳,取出cookie的值发现,每次设置cookie的值不是做修改覆盖,而是会添加,找了很久发现原来是设置cookie的时候没有设置域,应在设置的时候添加域:paht=dir,dir是指当前设置的cookie 能访问的有效的文件夹,当dir=/,表示全站可访问
  document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString()

 

cookie 保存导航菜单的展开状态