Как поместить строку в буфер вставки, используя 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 использует эту библиотеку), если вы хотите надежное общее решение. Однако, если вы можете жить с ограничениями, есть более простые решения.

Другие вопросы по тегам