На фронтенде в основном используется два способа для копирования строки в буфер обмена в 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)
Оба способа не гарантируют успех, потому что настройки конкретного браузера могут ограничивать доступ к буферу обмена.