我尝试添加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.