javascript – Chrome扩展程序中的Cookie权限不起作用

我尝试添加Cookie权限时,我的Chrome扩展程序出现问题.

首先,清单文件是这样的

"permissions": [
    "cookies",
    "https://api.box.com/*", 
    "https://www.box.com/api/*",
    "https://dl.boxcloud.com/*",
    "tabs",
    "identity",
  ],

但是,当我在chrome:// extensions /中单击我的扩展程序的权限属性时,没有cookie权限显示.我不确定是否有问题,请帮我澄清一下.

主要问题是,当我运行代码时:

getCookies("https://www.box.com", "tokens", function(tokens){
        console.log("Token returned");     
});

function getCookies(domain, name, callback) {
    console.log("Getting cookies...");
    chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
        if(callback){
            console.log("Done getting cookies, calling back...");                    
            callback(cookie.value);
        }
    });
}

永远不会调用回调函数,因此永远不会打印令牌返回的消息.我可以看到“在控制台中收到饼干,回复..消息.那么为什么会这样?请帮我解决一下……

最佳答案 代码有两个问题:

>如果找不到cookie,则使用cookie == null调用chrome.cookies.get回调.

因此,调用callback(cookie.value)是一个错误,并且不会执行.
>找不到cookie,因为您传递的URL(https://www.box.com)与权限模式“https://www.box.com/api/*”不匹配.您需要更改模式或传递给chrome.cookies.get的URL.

点赞