javascript - chrome.cookies.getAll 返回一个空数组

标签 javascript google-chrome cookies google-chrome-extension

我正在开发一个简单的 chrome 扩展程序,只需单击一下即可删除域中的所有 cookie,但由于某种原因,它无法正常工作。当我尝试从域中获取所有 cookie 时,它​​返回一个空数组。我究竟做错了什么? 这是 js 脚本:

$("#fixTheCookiesButton").click(() => {
  // delete the cookies
  chrome.cookies.getAll({domain: "https://www.youtube.com"}, (cookies) => {
    console.log("deleting " + cookies.length + " cookies")
    for(var i = 0; i < cookies.length; i++){
      console.log(i + " deleted")
      chrome.cookies.remove({
        url: "https://www.youtube.com" + cookies[i].path,
        name: cookies[i].name
      })
    }
    
    // some other stuff that isn't relevant here
}

这是我的 list :

{
  "manifest_version": 2,
  "name": "FixYT",
  "version": "1.0",
  "description": "Fixes that YT cookie bug with one click",
  "browser_action": {
          "default_title": "FixYT",
          "default_popup": "popup.html"
  },
  "permissions": [
    "cookies",
    "https://www.youtube.com/",
    "*://www.youtube.com/",
    "tabs",
    "*://*/"
  ]
}

我试过在互联网上四处寻找,但找不到任何解决方案。

最佳答案

你应该在background.js中调用这个代码块

    chrome.cookies.getAll({
  domain: ".youtube.com"
}, function (cookies) {
  for (var i = 0; i < cookies.length; i++) {
    console.log(cookies[i] + "deleted");
    chrome.cookies.remove({
      url: "https://" + cookies[i].domain + cookies[i].path,
      name: cookies[i].name
    });
  }
});

关于javascript - chrome.cookies.getAll 返回一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50771902/

相关文章:

javascript - 使用新参数创建已创建函数的副本?

javascript - 无法使用 onclick 获取正确的 $(this) 元素。尝试使用 :not for input inside a div

javascript - 麻烦 - Node js 将文件从文件夹 x 移动到文件夹 y

javascript - Chrome 不会删除 session cookie

c# - 如何检查 cookie 容器中是否有任何 cookie 过期?

javascript - 类型错误 : Cannot read property 'args' when creating spy with Jasmine

google-chrome - Mp4下载导致浏览器播放文件而不是下载

javascript - 当我尝试一个接一个地调用我注册的协议(protocol)时,只有一个可以随机调用

html - 移动 View 中的不同呈现和手动浏览器调整大小

asp.net - 正确创建跨域表单例份验证 cookie