相关疑难解决方法(0)

在JavaScript中按名称读取cookie的最短函数是什么?

在JavaScript中读取cookie的最短,准确和跨浏览器兼容的方法是什么?

通常,在构建独立脚本(我不能拥有任何外部依赖项)时,我发现自己添加了一个用于读取cookie的函数,并且通常会回退到QuirksMode.orgreadCookie()方法(280字节,216缩小).

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

它完成了这项工作,但它的丑陋,每次都增加了相当多的膨胀.

jQuery.cookie使用这样的方法(修改,165字节,125缩小):

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不是"Code Golf"竞赛:我有理由减少readCookie功能的大小,并确保我的解决方案有效.

javascript cookies

180
推荐指数
9
解决办法
18万
查看次数

标签 统计

cookies ×1

javascript ×1