我尝试添加Cookie权限时,我的Chrome扩展程序出现问题。 首先,清单文件就像这样
"permissions": [
"cookies",
"https://api.box.com/*",
"https://www.box.com/api/*",
"https://dl.boxcloud.com/*",
"tabs",
"identity",
],
但是当我在chrome:// extensions /中点击我的扩展程序的权限属性时,没有显示cookies
权限。我不确定是否有问题,请帮我澄清一下。
主要问题是,当我运行代码时:
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);
}
});
}
永远不会调用callback
函数,因此永远不会打印Token returned
消息。我可以在控制台中看到"Done getting cookies, calling back..
消息。那为什么会这样呢?请帮我解决一下......
答案 0 :(得分:2)
代码存在两个问题:
如果找不到Cookie,则会使用chrome.cookies.get
调用cookie == null
回调。
因此,调用callback(cookie.value)
是一个错误,不会被执行。
找不到Cookie,因为您传递的网址https://www.box.com
与权限模式"https://www.box.com/api/*"
不匹配。您需要更改模式或传递给chrome.cookies.get
的网址。