Проект на React.js. Для копирования текста в буфер обмена я

использовал эту функцию:
async (item, data) => {
const key = data?.key ?? ""
navigator.clipboard.writeText(key).then(() => {}).catch(err => {
console.error('Не удалось скопировать текст: ', err);
});
return Promise.resolve();
}
Тестировщик тестировал на dev стенде и сказал копирование не работает. Локально работает.
На dev стенде нет https и я понял что из-за этого там не работает.
Я посмотрел, а Chrome даже включить разрешение на копирование не позволяет https://i.imgur.com/DL7z5Bz.png .
Продакшн сайт будет на https, там будет работать по идее.

Я собираюсь использовать такую функцию.
function copyTextToClipboard(text) {
if (navigator.clipboard && window.location.protocol === 'https:') {
navigator.clipboard.writeText(text).then(() => {
console.log('Текст успешно скопирован в буфер обмена');
}).catch(err => {
console.error('Не удалось скопировать текст в буфер обмена', err);
});
} else {
const textarea = document.createElement("textarea");
textarea.value = text;
textarea.style.position = 'fixed';
document.body.appendChild(textarea);
textarea.focus();
textarea.select();

try {
document.execCommand('copy');
console.log('Текст успешно скопирован в буфер обмена с использованием execCommand');
} catch (err) {
console.error('Не удалось скопировать текст в буфер обмена с использованием execCommand', err);
}

document.body.removeChild(textarea);
}
}
Костыль, но вроде должно работать. А больше у меня нет вариантов? Может что посоветуете? Или я вообще все неправильно понял?

2 ответов

55 просмотров

Привет А у тебя какой сборщик? Странно, что при разных протоколах не работает, по идеи не должно быть такого Мб есть какие ограничения на window.navigator, чекну доку. Костыль это конечно хорошо , для временно решения) А что в консоли говорит?

N0rda_a-Миролюбов Автор вопроса
Daniil Rybakov
Привет А у тебя какой сборщик? Странно, что при р...

А консоль молчит почему-то. Проект на реакт

Похожие вопросы

Обсуждают сегодня

Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Коллеги, приветствую! Появилась не совсем тривиальная задача реализовать в nginx редирект HTTPS —> HTTP. Да, именно так, а не наоборот. Мы разрабатываем embedded устройство,...
Никита
24
Карта сайта