清除cookie稳妥做法

清除cookie稳妥做法就是设置cookie与清除cookie写法一致,cookie清除不了的问题,主要出现在设置与清除cookie并非一端操作的情况下,此时需要注意path、domain的设置必须保持一致,注意下文中注释//warning处代码,如下:

/*Days默认输入number或string格式数字=day;s10、m10、h10、d10分别代表秒、分、小时、天*/
function setCookie(name, value, Days) {
    var cookieString = name + '=' + escape(value),
        checkTime, checkMark;
    if (!isNaN(+Days)) {
        checkTime = +Days
    } else {
        checkTime = Days.substr(1);
        checkMark = Days.substr(0, 1)
    } if (checkTime > 0) {
        var setDate = new Date();
        setDate.setTime(setDate.getTime() + checkstr(checkMark, checkTime));
        cookieString = name + '=' + escape(value) + '; expires=' + setDate.toGMTString() + ';path=/;domain=' + location.hostname
    }
    document.cookie = cookieString
}

function getCookie(name) {
    var strCookie = document.cookie,
        arrCookie = strCookie.split(';');
    for (var i = 0, len = arrCookie.length; i < len; i++) &#123;
        var Arr_keyvalue = arrCookie[i].split('=');
        if (Arr_keyvalue[0].replace(/(^\s*)|(\s*$)/g, "") == name) &#123;
            return unescape(Arr_keyvalue[1])
        &#125;
    &#125;
    return ''
&#125;

function deleteCookie(name) &#123;
    var setDate = new Date();
    setDate.setTime(setDate.getTime() - 10000);
    var value = getCookie(name);
    if (value) &#123;
        document.cookie = name + '=' + value + '; expires=' + setDate.toGMTString() + ';path=/;domain=' + location.hostname
    &#125;
&#125;

function checkstr(mark, Time) &#123;
    if (!mark) &#123;
        return Time * 24 * 60 * 60 * 1000
    &#125; else &#123;
        switch (mark) &#123;
            case 's':
                return Time * 1000;
                break;
            case 'm':
                return Time * 60 * 1000;
                break;
            case 'h':
                return Time * 60 * 60 * 1000;
                break;
            case 'd':
                return Time * 24 * 60 * 60 * 1000;
                break;
            default:
                return false;
                break
        &#125;
    &#125;
&#125;

  转载请注明: XMwarrior 清除cookie稳妥做法

 上一篇
高阶函数缓存应用之斐波那契数列 高阶函数缓存应用之斐波那契数列
合理的利用js缓存,能有效提升复杂运算效率,此处有两种概念:1.闭包-(指有权访问另一个函数作用域中的变量的函数)2.高阶函数-(接受其他函数作为参数或返回其他函数的函数)此处以斐波那契数列为例,演示了运用缓存与不运用缓存计算的效率差别。
2019-04-02
下一篇 
色调旋转滤镜按钮-在线生成 色调旋转滤镜按钮-在线生成
本例应用颜色拾取插件 https://farbelous.io/bootstrap-colorpicker/tutorial-Basics.html直接放源码,有兴趣的点击例子查看: <html lang="zh"> <hea
2019-03-18
  目录