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

Posted study_well_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 保存导航菜单的展开状态的主要内容,如果未能解决你的问题,请参考以下文章

刷新后保存状态

使用 jquery 的垂直菜单导航(关闭切换)

js Javascript递归构建菜单 展开式菜单的构建利用接口的数据

js Javascript递归构建菜单 展开式菜单的构建利用接口的数据

导航的制作,标题有菜单展开

jquery 和 bootstrap 导航栏在 Angular 7 中折叠或展开子菜单的布局中不起作用