Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как скопировать таблицу в буфер обмена? (https://javascript.ru/forum/events/76467-kak-skopirovat-tablicu-v-bufer-obmena.html)

tania_v 14.01.2019 12:01

Как скопировать таблицу в буфер обмена?
 
Здравствуйте!

Давно пользуюсь копированием в буфер по клику. Но только текст был до сих пор. А сейчас захотела таблицу скопировать. И не получается.

Выделить таблицу по клику получается. Причем это выделение настоящее, в том смысле, что если после выделения я руками нажму Ctrl-C, то таблица попадает в буфер.

А вот если после выделения я дописываю в коде
document.execCommand('copy');
то в буфер ничего не попадает, т.е. как бы document.execCommand('copy'); в данном случае не равен Ctrl-C руками.

А как надо?

j0hnik 14.01.2019 12:07

<table>
		<tr><td>1</td><td>2</td></tr>
		<tr><td>3</td><td>4</td></tr>
	</table>
	
	<script>
		document.onmouseup = e => document.execCommand('copy'); 
	</script>

у меня работает

tania_v 14.01.2019 12:11

Да. Я все поняла . Спасибо!!!

Я просто-напросто упустила из виду, что команда document.execCommand('copy') срабатывает только если она вызвана физическим действием пользователя!

А я тестировала все без нажатий, просто в скрипте. Сделала через нажатие и все ОК.

j0hnik 14.01.2019 12:32

можно через range и navigator.clipboard.writeText без клика


Часовой пояс GMT +3, время: 07:24.