Как поместить строку в буфер вставки, используя javaScript в метеоре?
В настоящее время я создаю форму обсуждения на основе дерева. Каждый пост или узел в дереве имеет уникальный идентификатор и кнопку "getURL", которая предоставляет URL-адрес, который при переходе к нему обеспечивает представление, укорененное в данном узле.
На данный момент кнопка getURL открывает новое окно, и все работает плавно.
Я хотел бы, чтобы URL был вставлен в буфер вставки пользователей (как будто они выбрали URL и набрали control-c)
Я понимаю, что существуют потенциальные уязвимости безопасности, дающие сайту доступ к буферу вставки, но должен быть простой обходной путь.
Я пытался использовать этот http://ajaxian.com/archives/auto-copy-to-clipboard как видно. Как мне скопировать в буфер обмена в JavaScript? но это не сработало, и теперь я понял, что этому посту уже почти 10 лет, и я подумал, что могу задать вопрос,
Есть ли ES6-совместимый подход для определения copy(myStr)
где выполнение указанной функции поместит myStr в буфер вставки?
Я видел несколько таких пакетов, как этот https://atmospherejs.com/zenorocha/clipboard Но я не хочу добавлять что-либо в dom, просто чтобы поместить это в буфер вставки, есть ли способ определить функция копирования, я могу просто передать строку в чистом JS без Flash?
Я буду копаться в источнике для zenorocha / clipbaord в поисках ответа, но если вы его знаете, это будет так цениться!
1 ответ
Здесь есть хорошая статья о создании функции "копировать в буфер обмена".
Краткий ответ: используйте clipboard.js (zenorocha/clipboard использует эту библиотеку), если вы хотите надежное общее решение. Однако, если вы можете жить с ограничениями, есть более простые решения.