【问题标题】:Chrome extension: "No permission for cookies at url"Chrome 扩展程序:“在 url 上没有 cookie 的权限”
【发布时间】:2013-10-08 01:48:04
【问题描述】:

我尝试从一个特殊的网站获取 Cookie。

清单权限:

"permissions": [
"tabs",
"*//*free-way.me",
"storage",
 "cookies"
],

这是我的 popup.js:

function getCookies(domain, name) 
{
    chrome.cookies.get({"url": domain, "name": name}, function(cookie) {
        return cookie.value;

    });
}

var uid = getCookies("http://.free-way.me", "uid")     
var upw = getCookies("http://.free-way.me", "upw")     

document.getElementById("user").value = uid;
document.getElementById("pw").value = upw;

..但这只是告诉我,我没有权限:

cookies.get: No host permissions for cookies at url: "http://.free-way.me/".
at getCookies (chrome-extension://[...]/popup.js:19:24)
at chrome-extension://[...]/popup.js:25:13 

你能告诉我我犯的错误吗?...这让我发疯。谢谢!

马库斯

【问题讨论】:

    标签: javascript google-chrome cookies


    【解决方案1】:

    您的match pattern 格式错误。您在主机名中的星号后面缺少一个句点:

    "*//*.free-way.me"
    

    如果主机标识符有*,它必须:

    • 是整个主机标识符,或者
    • 主机标识符的第一个字符,后面紧跟一个句点。

    【讨论】:

    • 谢谢,但它仍然给我同样的错误..顺便说一句,cookie中的域名名为“.free-way.me”。我请求的 URL 是否正确?谢谢老哥!
    • @wernersbacher 您还滥用了异步扩展 API。有关如何使用异步回调函数的概述,请参阅How to return the response from an AJAX call? 中的“重构代码”部分。 (这不应该给你一个 cookie 错误,但它会阻止你的代码工作。)
    • @wernersbacher 您是否尝试过删除前导句点并只要求free-way.me?我自己从来没有使用过cookies API,文档有点稀疏,所以我不确定。
    • 是的,我尝试了几乎所有的可能性,但没有成功。现在我得到了一个回调函数,即使我不太了解它。我用过这个:[link]stackoverflow.com/questions/5892176/…谢谢@apsillers
    • 我忘了说它现在可以正常工作了。谢谢您的帮助。祝你晚安!
    【解决方案2】:

    Manifest 版本 3 对主机权限进行了一些更改。在 MV3 中,您需要将主机权限与其他权限分开指定:

    // Manifest V2
    "permissions": [
      "tabs",
      "bookmarks",
      "http://www.blogger.com/",
    ],
    "optional_permissions": [
      "*://*/*",
      "unlimitedStorage"
    ]
    
     // Manifest V3
    "permissions": [
      "tabs",
      "bookmarks"
    ],
    "optional_permissions": [
      "unlimitedStorage"
    ],
    "host_permissions": [
      "http://www.blogger.com/",
      "*://*/*"
    ],
    

    【讨论】:

      猜你喜欢
      • 2014-08-28
      • 2018-09-24
      • 2015-08-30
      • 2017-04-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      相关资源
      最近更新 更多