cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据
1.不同的浏览器存放的cookie位置不一样,也是不能通用的
2.cookie的存储是以域名形式进行区分的
3.cookie的数据可以设置名字的
4.一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样
我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来
如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间
cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁

例子: document.cookie='key=value;key=value;expires=new Date().toGMTString()';

function setCookie(key, value, t) {
var oDate = new Date();
oDate.setDate( oDate.getDate() + t );
document.cookie = key + '=' + value + ';expires=' + oDate.toGMTString();
}

function getCookie(key) {
var arr1 = document.cookie.split('; ');
for (var i=0; i<arr1.length; i++) {
var arr2 = arr1[i].split('=');
if ( arr2[0] == key ) {
return decodeURI(arr2[1]);
}
}
}

function removeCookie(key) {
setCookie(key, '', -1);
}

setCookie('sex','男', 10);//这里调用函数,传递需要设置的键值以及时间,就能设置cookie了.

// 以下也是一种

var SGRCookie={
    setCookie: function(key, val, T)
    {
        var date=new Date();
        date.setDate(date.getDate()+T);
        document.cookie=key+"="+JSON.stringify(val)+";"+"expires="+date.toGMTString();
    },
    getCookie: function(key)
    {
        var ck=document.cookie.split("; ");
        for(var i=0;i<ck.length;i++)
        {
            var ck_list=ck[i].split("=");
            if(ck_list[0]==key)
            {
            return JSON.parse(ck_list[1]);
        }
      }
    },
    rmCookie: function(key)
    {
        SGRCookie.setCookie(key);
    }
};
SGRCookie.setCookie("data",{"name":"week","age":"20","sex":"男"});
var data=SGRCookie.getCookie("data");

function getCookie(key){
key = encodeURI(key);
var arr, reg = new RegExp("(^| )"+key+"=([^;]*)(;|$)");
if(arr = document.cookie.match(reg)){
return decodeURI(arr[2]);
} else {
return null;
}
}

function setCookie(key,value,time){
if(typeof value === "object"){
value = JSON.stringify(value);
}
var key = encodeURI(key), value = encodeURI(value), expires = new Date();

expires.setTime(expires.getTime() + time * 365 * 24);
document.cookie = key + "=" + value + ";expires=" + expires.toUTCString() + ";path=/";
}

function delCookie(key){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(key);
if(cval != null){
document.cookie = key + "=" + cval + ";expires=" + exp.toGMTString();
}
}

如何设置,获取,删除cookie?的更多相关文章

  1. jquery获取、设置、删除cookie

    获取cookie: function getCookie(cname) { var name = cname + "="; var ca = document.cookie.spl ...

  2. js保存,获取,删除cookie的操作

    [转]来自:http://blog.csdn.net/itmyhome1990/article/details/7363816 JSP表单页面 <form action="login& ...

  3. 五十八:Flask.Cookie之flask设置和删除cookie

    1.设置cookie:在flask.Response对象上,使用set_cookie('cookie名', 'cookie值')设置cookie set_cookie源码 key:cookie名val ...

  4. javascript删除Cookie的正确方法(转载)

    原来一直以为只要设置javascript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的docu ...

  5. vue.js设置、获取、删除cookie

    项目需要前端获取后台返回的cookie,并以此作判断.我是在main.js入口文件下使用的 具体代码: new Vue({ el: '#app', router, template: '<App ...

  6. jquery 设置cookie、删除cookie、获取cookie

    1.引入jquery.js <script src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> ...

  7. js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...

  8. 设置cookie,获取cookie,删除cookie,修改cookie

    怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解 在操作cookie之前,先来看一下cookie长什么样. 可以看到,cookie是一个个键值对(“键=值”的形式)加上 ...

  9. js设置、修改、获取、删除 cookie

    上面这串省略号对于各种吐槽的声音:因为在百度上看到的关于设置cookie的前几篇文章都是错误的: 里面给出的设置cookie的代码是这样的: function setCookie(name,value ...

随机推荐

  1. 【Tool】Augmentor和imgaug——python图像数据增强库

    Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...

  2. SpringBoot-CommandLineRunner实现预操作

    前提:在使用SpringBoot构建项目时,我们通常需要做一些预先操作(类似开机自启动).而SpringBoot正好提供了一个简单的方式来实现–CommandLineRunner. CommandLi ...

  3. Python docs

    刚刚发现了Python好用的文档查询网页:Python docs,可以选择python版本查询,跟OpenCV docs很相似,很好用-

  4. MySQL 触发器 -1

    MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器 在MySQL中,创建触发器语法如下 ...

  5. Weblogic常用监控指标

    http://blog.csdn.net/konglongaa/article/details/53897562

  6. 非阻塞IO函数

    关于效率的优化:

  7. 60款开源云应用【Part 3】(60 Open Source Apps You Can Use in the Cloud)

    60款开源云应用[Part 3](60 Open Source Apps You Can Use in the Cloud) 本篇翻译自http://www.datamation.com/open-s ...

  8. sql查询语句中的乱码 -- 前面加N

    直接运行sql出出现乱码,在中文字符前加N就能够正常显示了.N的含义就是用nvarchar格式显示.

  9. HTTP协议头了解

    Cache-Control:max-age =0 Cache-Control no-cache — 强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验.这对于需要确认认证应用很有用(可以和pu ...

  10. 0x29 总结与练习

    搜索真的菜..困扰了很久,上个星期天没休息好导致整个礼拜没有精神.. 大概完成得七七八八了吧.真是深切的体会到暴力出奇迹的疯狂啊. 3.虫食算 从末位开始枚举判断,通过加数可以推出和的字母代表的数.那 ...