Я работаю над простым расширением Chrome, которое удалит все файлы cookie из домена одним щелчком мыши, но по какой-то причине это не работает. Когда я пытаюсь получить все файлы cookie из домена, он возвращает пустой массив. Что я делаю неправильно? Вот сценарий js:
$("#fixTheCookiesButton").click(() => {
// delete the cookies
chrome.cookies.getAll({domain: "https://www.youtube.com"}, (cookies) => {
console.info("deleting " + cookies.length + " cookies")
for(var i = 0; i < cookies.length; i++){
console.info(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",
"*://*/"
]
}
Я пробовал поискать в Интернете, но я не могу найти никаких решений для этого.
используйте url вместо domain в функции getAll Справка



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вы должны вызвать этот блок кода в background.js
chrome.cookies.getAll({
domain: ".youtube.com"
}, function (cookies) {
for (var i = 0; i < cookies.length; i++) {
console.info(cookies[i] + "deleted");
chrome.cookies.remove({
url: "https://" + cookies[i].domain + cookies[i].path,
name: cookies[i].name
});
}
});
Удалите
https://из параметра getAll, поскольку схема / протокол не является частью домена.