【问题标题】:Chrome extension, Can't get cookiesChrome 扩展程序,无法获取 cookie
【发布时间】:2015-10-22 07:44:01
【问题描述】:
我正在尝试在应用加载时从我的 Chrome 扩展程序中获取 cookie:
chrome.cookies.getAll({ "url": config.cookie.cookieUrl }, function (cookies) {
if (callback) callback(cookies);
});
有时我会收到错误:
cookies.getAll 期间出错:找不到可访问的 cookie 存储
当前执行上下文。
这些帖子对我没有帮助:
Stackoverflow discussion
Google discussion
【问题讨论】:
标签:
javascript
cookies
google-chrome-extension
【解决方案1】:
我最近也偶然发现了这个问题,看起来它远没有被 chromium 项目解决:
https://bugs.chromium.org/p/chromium/issues/detail?id=113994
我发现可行的解决方案是首先检查是否有可用的 cookie 存储:
function isCookieStoreAvailable() {
return new Promise(function (resolve, reject) {
chrome.cookies.getAllCookieStores(function (cookieStores) {
if (cookieStores.length) {
resolve();
} else {
reject();
}
});
});
}
然后重试几次,直到可用为止。
我做的另一件事是在重试 10 秒后重新加载扩展,但这只是作为最后的手段:
chrome.runtime.reload()
希望这会有所帮助。