首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从cookie中创建和读取值?

如何从cookie中创建和读取值?
EN

Stack Overflow用户
提问于 2018-07-24 01:18:13
回答 2查看 0关注 0票数 0

如何用JavaScript创建和读取cookie中的值?

EN

回答 2

Stack Overflow用户

发布于 2018-07-24 09:27:26

我要添加Dustin Diaz,并将其列为它的第一个自定义JS功能。这是它建议用于获取,设置和删除cookie的内容:

代码语言:txt
复制
function getCookie(name) {

  var start = document.cookie.indexOf(name + "=");

  var len = start + name.length + 1;

  if ((!start) && (name != document.cookie.substring(0, name.length))) {

    return null;

  }

  if (start == -1) return null;

  var end = document.cookie.indexOf(';', len);

  if (end == -1) end = document.cookie.length;

  return unescape(document.cookie.substring(len, end));

}



function setCookie(name, value, expires, path, domain, secure) {

  var today = new Date();

  today.setTime(today.getTime());

  if (expires) {

    expires = expires * 1000 * 60 * 60 * 24;

  }

  var expires_date = new Date(today.getTime() + (expires));

  document.cookie = name + '=' + escape(value) +

    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()

    ((path) ? ';path=' + path : '') +

    ((domain) ? ';domain=' + domain : '') +

    ((secure) ? ';secure' : '');

}



function deleteCookie(name, path, domain) {

  if (getCookie(name)) document.cookie = name + '=' +

    ((path) ? ';path=' + path : '') +

    ((domain) ? ';domain=' + domain : '') +

    ';expires=Thu, 01-Jan-1970 00:00:01 GMT';

}

详情:http://www.dustindiaz.com/top-ten-javascript

票数 0
EN

Stack Overflow用户

发布于 2018-07-24 10:27:58

以下是可用于创建和检索Cookie的函数。

代码语言:txt
复制
var createCookie = function(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档