【问题标题】: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 存储 当前执行上下文。

这些帖子对我没有帮助:

  1. Stackoverflow discussion

  2. Google discussion

【问题讨论】:

  • 所以问题只发生在 Chrome 启动的前几秒?

标签: 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()

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2018-03-30
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多