Добавление текста в буфер обмена на JavaScript
Необходимо скопировать в буфер обмена некий текст. Задача осложнаяется тем, что браузеры позволяют скопировать в буфер, в целях безопасности только программно выделенный текст. Т.е. не получится скопировать в буфер любой текст, а возможно только тот, который находится в тегах типа input, textarea и т.п.
Решение:
Работать будет только в сборках браузеров старше 2015года!
- Выводим на странице скрытый текстовый блок
- По нажатию кнопки «Скопировать», показываем этот блок. К сожалению иначе выделение не работает, приходится показывать.
- Заносим в этот блок текст необходимый для копирования в буфер
- Программно выделяем текст
- Убираем с глаз долой этот текстовый блок.
Как показывает практика при умелом «прятаньи» этого блока в тексте страницы, пользователь ничего не замечает.
Пример кода: