Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Существуют ли кросс-браузерные решения для копирования текста через JavaScript?

ПрограммированиеСайты+3
Ходарев Андрей Владимирович
Разработка на JavaScript
  · 15,3 K
старший разработчик в pseven.io  · 22 февр 2022
На фронтенде в основном используется два способа для копирования строки в буфер обмена в JavaScript-коде.
Старый способ — создать элемент INPUT, записать в него текст и выделить, вызвать execCommand("copy") у документа:
const input = document.createElement('input');
document.appendChild(document.body, input);
input.value = text;
input․select()
document.execCommand('copy');
input.remove();
Новый способ — использовать clipboard api:
navigator.clipboard.writeText(text)
Стоит добавить, что writeText() асинхронный и возвращает Promise. Подробнее см. статью в MDN — Interact with the clipboard.
Оба способа не гарантируют успех, потому что настройки конкретного браузера могут ограничивать доступ к буферу обмена.
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
Веб-разработчик, геймер, специалист по этике  · 20 дек 2021
Не очень понятно, что вы имеете в виду под "копированием текста". Вы про то, чтобы достать Element.innerHTML и сохранить в отдельную переменную? Сами элементы вы можете найти на странице как вы хотите, например, по XPath через Document.evaluate() Это решение сейчас 100% кросс-браузерное, IE6 давно мёртв, слава Богу.
Я имел ввиду под копированием текста копирование текста в буфер обмена пользователя
Задавай правильные вопросы - получай правильные ответы!  · 21 дек 2021
Не уверен, будет ли это ответом на ваш вопрос, но сам язык JS является кроссбраузерным по сути. Поскольку он предназначен для работы на фронте, вместе с HTML и CSS, то было бы глупо делать его зависимым от браузера, более того, он не зависит и от операционной системы пользователя. Таким образом решением проблемы копирования текста будет написание кода, приблизительно... Читать далее