JavaScript скопировать текст в буфер обмена

Возможный дубликат:
Скопировать выделенный текст в буфер обмена БЕЗ использования флэш-памяти — должен быть кроссбраузерным

Этот держал меня в движении в течение долгого времени. Как скопировать текст в буфер обмена? Вот мой код:

<body>
    <textarea name="text" rows="5" cols="20" wrap="hard" onblur="CopyToClipboard()">Enter text here and it will be copied to the clipboard!</textarea>
</body>

<script type="text/javascript">
function CopyToClipboard() {
    //O_O Confused... what do I do...
}
</script>

person Tony    schedule 27.08.2011    source источник
comment
@ Дерек, я думаю, это опечатка.   -  person fireshadow52    schedule 31.08.2011


Ответы (1)


Вот один из способов сделать это...

<body>
    <textarea rows="5" cols="20" wrap="hard" onblur="CopyToClipboard(this)"></textarea>
</body>

<script language="JavaScript">
function CopyToClipboard(text) {
    Copied = text.createTextRange();
    Copied.execCommand("Copy");
}
</script>

Это работает только с IE 4 и выше. Когда вы запустите его, может появиться диалоговое окно с вопросом, хотите ли вы, чтобы этот веб-сайт имел доступ к вашему буферу обмена. Нажмите да, если это так. Любой текст, введенный пользователем в поле, будет скопирован в буфер обмена.

person fireshadow52    schedule 27.08.2011
comment
А в других браузерах? - person Uday A. Navapara; 05.03.2015
comment
Uncaught TypeError: text.createTextRange не является функцией. (хром 46) - person Bimal Poudel; 22.07.2015
comment
Как насчет поддержки других браузеров? (точно так же, как спросил @Uday A. Navapara) - person www139; 09.10.2015