chrome.cookies.getAll возвращает пустой массив

1

Я работаю над простым расширением chrome, которое удаляет все куки из домена одним щелчком мыши, но по какой-то причине он не работает. Когда я пытаюсь получить все файлы 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
}

и здесь мой манифест:

{
  "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",
    "*://*/"
  ]
}

Я пробовал смотреть в Интернете, но я не могу найти никаких решений.

  • 0
    Удалите https:// из параметра getAll, поскольку схема / протокол не является частью домена.
  • 0
    использовать url вместо domain в функции GETALL ссылки
Теги:
cookies
google-chrome
google-chrome-extension

1 ответ

0

вы должны вызвать этот блок кода в 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
    });
  }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню