js中cookie的应用

cookie的作用是存储数据,当用户访问网站时,将一些数据存储在用户电脑上.
1.不同浏览器cookie位置不一样
2.同一浏览器不同的网站有不同的cookie,甚至同一网站也存在多个cookie. 所以首先cookie存储是以域名进行区分的,其次每一个cookie可以单独设置名字.
通过document.cookie获取当前网站的cookie,得到的是字符串,包含当前网站所有的cookie.通过";"+"空格"串联起来.
3.一个域名下的cookie数目有限,并且每个cookie存放内容大小也有限,不同的浏览器对数目的限制不一样.
4.但若想永久存放cookie也是可以的,设置一个过期时间就好了,不设置的话cookie默认是临时存储,当浏览器关闭时就销毁
5.cookie的内容最好编码存放,因为像中文字符这种特殊字符会出现乱码.encodeURI编码,decodeURI解码
下面举实例:

function setCookie(key,value,t){            设置一个实现长期保存cookie的函数
    var oDate=new Date();              获取当前日期
    oDate.setDate(oDate.getDate()+t);       设置日期为当前日期+某个数字t(设定几天后失效)
   document.cookie=key+"="+value+";expire="+oDate.toGMTstring();     cookie数据采用json格式
}

上述函数实现setCookie(key,value,t)就输出字符串key+"="+value+";expire="+oDate.toGMTstring(),并且在设定好的过期日期以后才失效.

function getCookie(key){               设置获取cookie的函数
    var arr1=document.cookie.split(";");     split和数组里是一样的用法,以";"分隔
    for(var i=0;i<arr1.length;i++){
        var arr2=arr1[i].split("=");       因为获取的时候会获取所有cookie,所以要分隔
        if(arr2[0]==key){
            return decodeURI(arr2[i]);   解码文字部分
        }
    }
}

下面是移除cookie的函数

function removeCookie(key){
    setCookie(key," ",-1);     小技巧,设置当前日期的-1天也就是昨天失效,自然就移除了cookie.
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容