检查Cookie是否存在 - Chrome扩展程序

时间:2013-10-02 10:33:30

标签: javascript google-chrome cookies

Heyho, 我有一个函数来获取cookie,它工作正常(除了getCookies()中的if-part):

function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
    if(callback) {
        callback(cookie.value);
    } 
});
}

//USER ID
getCookies("http://free-way.me", "uid", function(id) {

    if(id == null) { document.getElementById("submulti").disabled = true;}
    else { document.getElementById("user").value = id;}
});

好吧,当没有cookie时,控制台会给我这个:

Error in response to cookies.get: TypeError: Cannot read property 'value' of null
at getCookies [...]

毫不奇怪,但我不知道如何检查请求是否有效,并返回错误以禁用提交按钮。

如果你可以帮助我会很好..

谢谢你, 马库斯

1 个答案:

答案 0 :(得分:2)

为什么不在尝试访问cookie属性之前快速额外检查value的值?

chrome.cookies.get({'url': domain, 'name': name}, function(cookie) {
    if (callback) {
        callback(cookie ? cookie.value : null);
    }
});

三元检查确保您在nullcookie时返回null。如果那不是你的问题,请告诉我!