文档章节

JavaScript基础之Cookie

独孤蝈蝈
 独孤蝈蝈
发布于 2016/10/22 18:58
字数 590
阅读 9
收藏 0

使用 JavaScript 创建Cookie

JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookies。

JavaScript 中,创建 cookie 如下所示:

    document.cookie = 'username=hello world';

您还可以为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:

    document.cookie="username=hello world; expires=Sat, 22 Oct 2016 13:18:19 GMT";

您可以使用 path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。

    document.cookie="username=hello world; expires=Sat, 22 Oct 2016 13:18:19 GMT; path=/";

 

使用 JavaScript 读取 Cookie

在 JavaScript 中, 可以使用以下代码来读取 cookies:

    var x = document.cookie;
    //document.cookie 将以字符串的方式返回所有的 cookies.
    //类型格式: cookie1=value; cookie2=value; cookie3=value;

 

使用 JavaScript 修改 Cookie

在 JavaScript 中,修改 cookies 类似于创建 cookies,如下所示:

    document.cookie="username=welcome; expires=Sat, 22 Oct 2016 13:18:19 GMT; path=/";

旧的 cookie 将被覆盖。

 

使用 JavaScript 删除 Cookie

删除 cookie 非常简单。您只需要设置 expires 参数为以前的时间即可,如下所示,设置为 Thu, 01 Jan 1970 00:00:00 GMT:

    document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

注意,当您删除时不必指定 cookie 的值。

 

Cookie 字符串

document.cookie 属性看起来像一个普通的文本字符串,其实它不是。

即使您在 document.cookie 中写入一个完整的 cookie 字符串, 当您重新读取该 cookie 信息时,cookie 信息是以名/值对的形式展示的。

如果您设置了新的 cookie,旧的 cookie 不会被覆盖。 新 cookie 将添加到 document.cookie 中,所以如果您重新读取document.cookie,您将获得如下所示的数据:

cookie1=value; cookie2=value;

如果您需要查找一个指定 cookie 值,您必须创建一个JavaScript 函数在 cookie 字符串中查找 cookie 值。

 

设置 cookie 值的函数

首先,我们创建一个函数用于存储访问者的名字:

    /**
     * 设置一个cookie
     * @param  string  name  cookie名称
     * @param  string  value cookie值
     * @param  int     time  cookie有效期 单位秒
     */
    function setcookie(name, value, time){
        var d = new Date();
        d.setTime(d.getTime() + time*1000);
        var expires = 'expires=' + d.toUTCString();
        document.cookie = name + '=' + value + '; ' + expires;
    }

 

获取 cookie 值的函数

然后,我们创建一个函数用户返回指定 cookie 的值:

    /**
     * 获取一个cookie的值
     * @param  string  name  cookie名称
     * @return string        cookie值
     */
    function getcookie(name){
        name = name + '=';
        var cookies = document.cookie.split(';');
        for(var i = 0; i < cookies.length; i ++){
            var ck = cookies[i].trim();
            if(ck.indexOf(name) === 0){
                return ck.substr(name.length, ck.length);
            }
        }
        return '';
    }

 

© 著作权归作者所有

独孤蝈蝈
粉丝 4
博文 59
码字总数 39108
作品 0
朝阳
程序员
私信 提问
淘宝跨域获取Cookie分析

最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。 当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上...

华宰
2011/04/13
4.9K
9
javascript操作cookie函数写法

整理了两种简单的javascript操作cookie写法,均有三个功能:设置cookie、查询cookie、删除cookie。第一种简单易懂,第二种封装使用方便。原生js设置cookie。 简单版: function setCookie(n...

西西爱OS
2012/10/03
187
0
运用JS设置cookie、读取cookie、删除cookie

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。 而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种情况,在某个用例...

落埖纷飞
2013/06/26
100
0
Javascript cookie使用详解

设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; 如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如...

Adam-Lee
2012/02/06
414
0
帮助你简化Cookie操作的javascript类库 - cookie.js

日期:2012-4-24 来源:GBin1.com 做web开发的朋友不可避免的需要处理cookie,以往我们使用javascript处理cookie的过程繁琐并且容易出错,所以往往使用一些现成的处理cookie的javascript代码...

gbin1
2012/04/25
240
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
6
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
1K
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部