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 保存导航菜单的展开状态的主要内容,如果未能解决你的问题,请参考以下文章
js Javascript递归构建菜单 展开式菜单的构建利用接口的数据