这里主要不是讲这个方法,js写cookie这种代码网上一抓一把,在使用的时候遇到一点问题,就是写的cookie 是有路径问题的,在user目录下可以使用跳转到另外一个目录下cookie,经过比较cookie与其他cookie的不同发现,用js写的cookie在当前目录下,不在根目录下,这里可以用这个来控制访问但是不符合现在的需求,在网上的某个地方看到一段代码,可以解决这个问题,在这里贴出来,大家需要用的可以参考。代码如下:

 Utils.writeCookie = function (value, name, key) {
var Days = 2;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
if (key == null || key == "") {
    document.cookie = name + "=" + encodeURI(value) + ";expires=" + exp.toGMTString()+";path=/";
}
else {
9     var nameValue = getCookie(name);
    if (nameValue == "") {
      document.cookie = name + "=" + key + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";
    }
    else {
        var keyValue = getCookie(name, key);
        if (keyValue != "") {
            nameValue = nameValue.replace(key + "=" + keyValue, key + "=" +encodeURI ( value));
17             document.cookie = name + "=" + nameValue + ";expires=" + exp.toGMTString() + ";path=/";
        }
19         else {
            document.cookie = name + "=" + nameValue + "&" + key + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";
21         }
22         }
23     }
}

顺带把读取cookie的也一起贴 了,引用了别人的代码并非原创:

 Utils.readCookie = function(name,key) {
var nameValue = "";
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
nameValue = decodeURI(arr[2]);
}
if (key != null && key != "") {
reg = new RegExp("(^| |&)" + key + "=([^(;|&|=)]*)(&|$)");
if (arr = nameValue.match(reg)) {
alert( decodeURI (arr[2])); return decodeURI(arr[2]);
}
else return "";
}
else {
return nameValue;
}
}

最新文章

  1. tar命令的使用
  2. 数据导出到excel
  3. Oracle虚拟索引,大表或生产环境下预估索引效果的好东西
  4. js阻止提交表单(post)
  5. 设计模式之美:Interpreter(解释器)
  6. 防刷新jq左侧滚动条导航展示
  7. 修改datagridview中其中一列的值
  8. 函数flst_get_last
  9. hdoj 1872 稳定排序
  10. vim下高级操作以及文本替换命令
  11. [商业_法务] 2、注册公司起名很费劲,用C++怒写个随机名字生成器
  12. Vi快捷操作 vim配置【shell文件格式从windows转换为linux】
  13. 使用FormatMessage函数编写一个内核错误码查看器
  14. Axure rp8团队原型图开发
  15. [TJOI2011]构造矩阵
  16. 1.1环境的准备(一)之Python解释器的安装
  17. github相关资料记录
  18. Hive的安装与配置
  19. 远程获得的有趣的linux命令
  20. Hyperledger Fabric 中channel配置相关数据结构

热门文章

  1. 二、jenkins配置email(以腾讯企业qq为例)
  2. 关于No ManagedConnections available within configured blocking timeout异常的解决
  3. css伪类(Pseudo-classes)
  4. 基本SQL命令 (1.SQL命令使用规则/2.库管理/3.表管理/4.表记录管理/5.更改库,库的默认字符集/6.连接数据库的过程/7.数据类型)
  5. Spring Session 学习记录1
  6. MySQL数据库篇之完整性约束和表关系
  7. [KVM][guestfs] 安装 guestfs-python 出错
  8. CyclicBarrier的使用
  9. Uniform & Attribute & Varying
  10. sql设置字段默认值