java cookie的有效期_[Java教程]cookie属性,有效期和作用域

[Java教程]cookie属性,有效期和作用域

0 2015-08-31 22:00:03 /*

* cookieStorage API

* @maxage 有效期

* path 作用域

* */

function cookieStorage (maxage, path) { var cookie = (function(){ var cookie = {};

var all = document.cookie; // 获取全部的cookie的信息

// 如果为空字符串就返回空对象

if (all === "")

return cookie;

// 分离出名/值对

var list =all.split("; ");

// 遍历每个cookie

for(var i = 0; i < list.length; i++) {

var cookie = list[i];

console.log(cookie);

var p = cookie.indexOf("="); // 查找第一个"="符号

var name = cookie.substring(0, p); // 获取cookie的名字

var value = cookie.substring(p + 1); // 获取cookie对应的值

value = decodeURIComponent(value); // 将名值对存储到对象中

if (name === "userId") {

continue;

}

cookie[name] = value;

}

return cookie;

}());

// 将所有cookie的名字存储到一个数组中

var keys = [];

for (var key in cookie) keys.push(key); // 定义存储API公共的属性和方法

// 存储的cookie的个数

this.length = keys.length;

console.log(this.length); //返回第n个cookie的名字,如果n越界则返回null

this.key = function(n) {

if(n < 0 || n > keys.length) {

return null

}

return keys[n];

}; //返回指定名字的cookie值,如果不存在则返回null this.getItem = function(name) {

return cookie[name] || null;

}; // 存储cookie值

this.setItem = function(key, value) {

if(! (key in cookie)) {

keys.push(key);

this.length++;

}

//将该名/值对数据存储到cookie对象中

cookie[key] = value;

// 开始正式设置cookie

//首先将要存储的cookie的值进行编码同事创建一个 "名字=编码后的值"形式的字符串

var cookie = key + "=" +encodeURIComponent(value);

// 将cookie的属性也加入到该字符串中

if(maxage) cookie += "; max-age=" + maxage;

if(path) cookie += "; path=" + path; //通过document.cookie属性来设置cookie

document.cookie = cookie;

}; // 删除指定的cookie

this.removeItem = function(key) {

if( ! (key in cookie)) {

return;

}

//从内部维护的cookie组删除指定的cookie

delete cookie[key]; //同时将cookie中的名字也在内部的数组中删除

for( var i=0; i < keys.length; i++) {

if(keys[i] === key) {

keys.splice(i, 1);

break;

}

}

this.length --;

// 通过将该cookie值设置为空字符串以及将有效期设置为0来删除指定的cookie

document.cookie = key + "=; max-age=0";

}; //删除所有的cookie

this.clear = function () {

//循环所有的coolie的名字,并将cookie删除

for(var i = 0; i < keys.length; i++ )

document.cookie = keys[i] + "=; max-age=0";

// 重置所有的内部状态

cookie = {};

key = [];

this.length = 0; };

}推荐前端学习群:

bc91bb04e6e9c61e24c974e4440db8f2.gif html5/css3/js/jq/nodejs/div 群号:339840649

本文网址:http://www.shaoqun.com/a/141322.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

ie

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值