JavaScript Clipboard API: скопировать текст по клику

Категория: JavaScript · Язык: JavaScript · Обновлено:

navigator.clipboard.writeText копирует строку в современных браузерах при защищённом контексте и обычно после явного действия пользователя. Обработайте отказ доступа, чтобы интерфейс мог показать понятный результат.

Рабочий пример

JavaScript
copyButton.addEventListener('click', async () => {
  try {
    await navigator.clipboard.writeText(output.value);
    status.textContent = 'Скопировано';
  } catch {
    status.textContent = 'Не удалось скопировать';
  }
});

Запускайте вызов непосредственно из обработчика клика: браузеры ограничивают доступ к буферу обмена. copyButton, output и status — ссылки на элементы страницы.

Частый вопрос

Работает ли clipboard API на HTTP?

Обычно только на secure context, например HTTPS или localhost. Для других случаев покажите текст пользователю для ручного копирования.