Chrome扩展程序,无法获取Cookie

时间:2015-10-22 07:44:01

标签: javascript cookies google-chrome-extension

我正在尝试在加载应用时从我的Chrome扩展程序中获取Cookie:

chrome.cookies.getAll({ "url": config.cookie.cookieUrl }, function (cookies) {
            if (callback) callback(cookies);
        });

有时我会收到错误:

  

cookies.getAll期间出错:找不到可访问的cookie商店   当前执行上下文。

这些帖子对我没有帮助:

  1. Stackoverflow discussion

  2. Google discussion

1 个答案:

答案 0 :(得分:0)

我最近偶然发现了这个问题,看起来它还远未被chrome项目解决: 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()

希望这有帮助。