2015-05-22 5 views
1

мне нужно, чтобы иметь возможность нажать на ссылку и следующие скопирована в буфер обмена мой:Как добавить форматированный текст в буфер обмена с помощью Javascript

Name Email [TAB] Address Phone [TAB] IP Address 

Как я могу «копировать» клавишу табуляции? И как добавить его в буфер обмена?

+0

Вы пытались найти решение самостоятельно, прежде чем спрашивать? – Anonymous

+0

Возможный дубликат [Как скопировать в буфер обмена в JavaScript?] (Http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript) – joews

ответ

-1

Я думаю, что невозможно сделать Javascript для копирования/вставки в функцию буфера обмена. Для этого нужен Flash-скрипт. Или вы можете использовать эту библиотеку, но вы все равно будете использовать Adobe flash: https://github.com/zeroclipboard/zeroclipboard

+0

Это возможно - Chrome 43 выпустил эту функцию несколько дней назад, и это возможно в других браузерах с некоторыми оговорками. См. Http://updates.html5rocks.com/2015/04/cut-and-copy-commands и http://caniuse.com/#feat=clipboard. – joews

+0

Нижняя сторона была предназначена для «это невозможно в JavaScript», поскольку теперь это возможно во многих браузерах. Я удалю его, если вы отредактируете. – joews

+0

Во-вторых, вы фрагмент кода не работает, он не копирует содержимое строки в буфер обмена вообще! –

0

Вот чистое решение для JavaScript. Он работает в Chrome 43+ и Internet Explorer. Вам понадобится использовать Flash или библиотеку для кросс-браузерной поддержки.

Вы можете использовать document.execCommand('copy'), чтобы скопировать сообщение из (скрытого) элемента в буфер обмена.

При нажатии на кнопку будет копировать сообщение в буфер обмена:

var cutTextareaBtn = document.querySelector('.js-textareacutbtn'); 
 
var cutTextarea = document.querySelector('.js-cuttextarea'); 
 

 
cutTextarea.textContent = "Name Email\tAddress Phone\tIP Address"; 
 

 
cutTextareaBtn.addEventListener('click', function(event) { 
 
    cutTextarea.select(); 
 

 
    try { 
 
    var successful = document.execCommand('copy'); 
 
    var msg = successful ? 'successful' : 'unsuccessful'; 
 
    console.log('Copy text command was ' + msg); 
 
    } catch(err) { 
 
    console.log('Oops, unable to copy'); 
 
    } 
 
});
<textarea class="js-cuttextarea">fdsfsd</textarea> 
 
<button class="js-textareacutbtn">Copy to clipboard</button>

Код адаптировано из this HTML5 rocks article.

Это работает в Chrome 43+ и Internet Explorer, хотя поддержка других браузеров ограничена - см. caniuse.com.

+0

Для этого есть библиотека. –

+0

Использование библиотеки не является более «правильным», чем использование встроенной функции веб-платформы, но, безусловно, имеет преимущества в совместимости и простоте использования. Почему же вниз, хотя? Это отвечает на вопрос и делает ограниченную поддержку браузера ясной. – joews

+0

Невозможно удалить, потому что это правда, вам нужно протестировать, прежде чем говорить так. –

Смежные вопросы