2

这几天我一直在尝试解决这个问题,但在网上找不到任何有效的东西。当我在本地测试我的 chrome 扩展时,它工作正常。当我在网上商店发布它时,它可以在我的计算机上运行,​​并且只能在我的计算机上运行。不工作的部分正在读取 cookie,这应该在用户单击扩展图标时完成。当我在我的计算机上使用网上商店发布的版本时,它读取 cookie 没有问题,但在任何其他计算机上它都找不到 cookie,我知道它在那里。这是我的 getCookie 函数和调用它时的代码,以及我的 manifest.json:

功能:

function getCookies(domain, name, callback) {
chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
    if (cookie) {
        alert("cookie found: " + cookie.value);
        if (callback) {
            callback(cookie.value);
        }
    } else {
        alert("cookie not found");
    }

});
}

当它被调用时:

getCookies("http://www.mywebsite.com/", "name", function(c) {

//callback code
});

清单.json:

{
"name": "My Extension",
"version": "1.1.7",
"permissions": [
"tabs", "cookies", "http://www.mywebsite.com/", "http://*/*", "https://*/*"
],
"browser_action": {
    "default_title": "Do stuff.",
    "default_icon": "icon.png",
    "default_popup": "popup.html"
},
"background": {
    "scripts": ["eventPage.js"],
    "persistent": false
},
"manifest_version": 2
}

有谁知道为什么我的扩展程序找不到 cookie?任何想法都会有所帮助,尤其是当我从 chrome 商店下载它时它为什么可以在我的计算机上运行,​​就像任何其他用户一样。

谢谢!

4

1 回答 1

0

尝试将其更改为chrome.cookies.getAll,由于某种原因也为我chrome.cookies.get返回undefined:-/

https://developer.chrome.com/extensions/cookies#method-getAll

于 2014-06-23T03:20:58.380 回答