Привет всем. передо мной стоит задача написать плагин для браузера хром, задача которого собирать куки и отправлять их в буфер обмена. С первой частью я справился, но когда дело доходит до отправки кук в буфер то не один из способов не работает. Вот допустим я использую метод chrome.clipboard , но он не отвечает как будто и не поддерживается, проверяю его условным блоком, консоль молчит.
Я пишу:
chrome.cookies.onChanged.addListener(function (changeInfo) {
//сбор кук в консоль
let cookie = changeInfo.cookie;
let url = "ссылка домена";
let domain = changeInfo.cookie.domain;
if (domain === url) {
let cookieKeys = Object.keys(cookie);
let result = [];
for (let i = 0; i < cookieKeys.length; i++) {
result.push(cookieKeys[i]);
}
JSON.stringify(result);
}
});
Данный код успешно собирает куки если мы находимся на опред ресурсе.
Затем если после JSON.stringify(result) добавляю такую констукцию
//блок буфера
let check = async () => {
await navigator.permissions.query({name: 'clipboard-write'});
try {
let value = JSON.stringify(result);
if (navigator.clipboard) {
await navigator.clipboard.writeText(value);
console.log('Done');
} else {
console.log('Fail');
}
} catch (err) {
console.log("error", err)
}
}
check();
То консоль возвращает fail, и не важно синхронно я пишу или код асинхронный, мой код не получает доступа к буферу. Кто то говорит, что метод устарел, кто то говорит, что рабочий. В мануалах всё предельно просто берёшь метод, используешь конструкцию try, catch и всё прекрасно будет работать, что я делаю не так?