jquery cookie问题
近期工作中遇到了jquery cookie解决问题,顺便记录下:
<div id="submenu">
<ul>
<li><a id="tree" href="javascript:void(0);" onClick="rememberMenu(this.id);">树形菜单</a></li>
<li><a id="dropdown_default" href="javascript:void(0);" onClick="remeberMenu(this.id);">下拉菜单</a></li>
<li><a id="bootstrap" href="javascript:void(0);" onClick="rememberMenu(this.id);">bootstrap</a></li>
<li><a id="float_new" href="javascript:void(0);" onClick="rememberMenu(this.id);">浮动菜单</a></li>
</ul>
</div>
<script>
function rememberMenu(aid){
var SysMenuTypevalue = aid;
$.cookie("SysMenuType", SysMenuTypevalue, { expires: 7 },{path:"/"});
window.location.reload();
}
</script>
var SysMenuType = $.cookie("SysMenuType");
这样就取得了cookie的值。
1.引入jquery.js
<script src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
1
2.引入jquery cookie插件
<script src="//cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
1
3.调用插件封装好的方法
a)设置新的cookie:
$.cookie('name','dumplings'); //设置一个值为'dumplings'的cookie
1
设置cookie的域名:
$.cookie('name','dumplings', {domain:'qq.com'}); //设置一个值为'dumplings'的在域名'qq.com'的cookie
1
设置cookie的路径:
$.cookie('name','dumplings', {domain:'qq.com',path:'/'});
//设置一个值为'dumplings'的在域名'qq.com'的路径为'/'的cookie
1
2
b)删除cookie
$.removeCookie('name',{ path: '/'}); //path为指定路径,直接删除该路径下的cookie
$.cookie('name',null,{ path: '/'}); //将cookie名为‘openid’的值设置为空,实际已删除
1
2
c)获取cookie
$.cookie('name') //dumplings
1
踩过的坑:
cookie的域名和路径都很重要,如果没有设置成一致,则会有不同域名下或者不同路径下的同名cookie,为了避免这种情况,建议在设置cookie和删除cookie的时候,配置路径和域名。