Код "минимального примера", указанный на странице, на которую вы ссылаетесь (http://code.google.com/p/zeroclipboard/wiki/Instructions#Minimal_Example)), выглядит как раз то, что вам нужно. Я скопировал его здесь и изменил, чтобы продемонстрировать помещение текста в переменную и затем копирование этого текст в буфер обмена, так как это то, что вас интересует. Обратите внимание, что в реальной жизни вы, вероятно, захотите сделать, это вызвать часть clip.setText()
в некоторой функции, поскольку вы можете не знать, в тот момент, когда страница сначала загружена, какой текст вы хотите скопировать.
<html>
<body>
<script type="text/javascript" src="ZeroClipboard.js"></script>
<div id="d_clip_button" style="border:1px solid black; padding:20px;">Copy To Clipboard</div>
<script language="JavaScript">
var clip = new ZeroClipboard.Client();
var myTextToCopy = "Hi, this is the text to copy!";
clip.setText( myTextToCopy );
clip.glue( 'd_clip_button' );
</script>
</body>
</html>
Элемент flash не обязательно должен быть «поверх скопированного текста»; его нужно «приклеить» к любому элементу DOM, которым вы хотите, чтобы ваш пользователь манипулировал, - скорее всего, к нажатию кнопки. Причина в том, что у Javascript нет доступа к буферу обмена, поэтому вам нужно использовать Flash. Но Flash может работать только на компьютере пользователя в ответ на щелчок пользователя, поэтому вы «обманываете» пользователя, нажимая на Flash, делая его невидимым наложением на элемент HTML.
Отмечу, что хотя конкретный пример копирования в буфер обмена пользователя, вероятно, не вызывает проблем, такой подход меня беспокоит, так как нетрудно представить, как скрытый элемент флэш-памяти делает что-то более вредоносное.