DOM и React Middle DOM на практике обновлено

Копирование в буфер

Условие

copyText(text, clipboard): пишет текст в буфер через clipboard.writeText, возвращает true при успехе. Если API недоступно или упало - вернуть false, не бросая исключение.

Что проверяют тесты

  • копирует

  • нет API - false

  • отказ в правах - false

  • число приводится к строке

Как подойти

Clipboard API работает только по HTTPS и только в ответ на действие пользователя, а в Firefox чтение долго было недоступно. Поэтому обёртка всегда проверяет наличие метода и ловит отказ, а интерфейс показывает запасной вариант - выделить текст и скопировать вручную. Старый document.execCommand('copy') устарел, но до сих пор используется как фолбэк.

Подсказки: 2
  1. Метод есть не везде и требует защищённого контекста и жеста пользователя.
  2. Отказ приходит отклонённым промисом, а не исключением.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.