@gussie.jones Я обычно использую для этого данную кроссбраузерную функцию в Javascript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
function copyToClipboard(text) { if (window.clipboardData && window.clipboardData.setData) { // Internet Explorer return window.clipboardData.setData("Text", text); } else if (document.queryCommandSupported && document.queryCommandSupported("copy")) { var textarea = document.createElement("textarea"); textarea.textContent = text; textarea.style.position = "fixed"; document.body.appendChild(textarea); textarea.select(); try { return document.execCommand("copy"); } catch (ex) { console.warn("Ошибка копирования в буфер обмена.", ex); return prompt("Скопировать в буфер обмена: Ctrl+C, Enter", text); } finally { document.body.removeChild(textarea); } } } copyToClipboard("test"); |
@gussie.jones
Вы можете скопировать текст в буфер обмена с помощью следующего кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function copyTextToClipboard(text) { var textArea = document.createElement("textarea"); // Обеспечивает, чтобы не было видно элемента: textArea.style.position = 'fixed'; textArea.style.top = 0; textArea.style.left = 0; textArea.style.width = '2em'; textArea.style.height = '2em'; textArea.style.padding = 0; textArea.style.border = 'none'; textArea.style.outline = 'none'; textArea.style.boxShadow = 'none'; textArea.style.background = 'transparent'; textArea.value = text; document.body.appendChild(textArea); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'successful' : 'unsuccessful'; console.log('Copying text command was ' + msg); } catch (err) { console.log('Oops, unable to copy'); } document.body.removeChild(textArea); } |
Чтобы скопировать текст, вызовите функцию следующим образом:
1
|
copyTextToClipboard('Текст, который вы хотите скопировать'); |
Обратите внимание, что этот код работает только в браузерах, которые поддерживают технологию буфера обмена (Clipboard API).