Как скопировать текст в буфер по нажатию кнопки? ZeroClipboard!

« Предыдущая запись
 
  Следующая запись »
 

Иногда случается, что просто очень было бы здорово, чтобы была возможность что-то скопировать со страницы по нажатию на одну клавишу. Когда? Ну, к примеру, для чего-нибудь в админке, или для копирования блока кода на сайте. Конечно, можно обойтись простым выделением с CTRL+C, но когда речь идёт об удобстве и юзабилити, то нужен другой способ.

Увы, но на жабаскрипте сделать подобное, и причём кроссбраузерно, практически нереально (если вообще реально – прим.ред.). Всё дело в том, что функция копирования в буфер просто исключена из большинства браузеров из-за её небезопасности.

Представьте, заходите вы на сайт и опа, у вас в буфере метр порнухи в текстовом виде. Не прикольно? Полагаю нет, хотя кому то это может даже и на руку бы было. Но ладно, это баловство. А что, если скрипт не копирует, а читает из буфера, а там пароль какой-нибудь с логином, или номер кредитки, или ещё чего?

iebug Как скопировать текст в буфер по нажатию кнопки? ZeroClipboard! Хотя есть один браузер, очень замечательный такой браузер, у которого эта функция частично реализована и работает. И это, тадам, Internet Explorer (кто бы сомневался – прим.ред.). Простым навешиванием на кнопку события с copyToClipboard('id_of_input'), мы сможём копировать то, что надо. Конечно, эта функция кроме ишака не работает.

А что же делать, если оно приспичило и надо? Ну, как говорится, что когда нельзя и очень хочется, то можно. Если нельзя копировать на JavaScript'е, то воспользуемся флэшом, который это может.

Итак, представляю вашему вниманию ZeroClipboard. Он состоит из файла скрипта и файла прозрачной флэшки. Скрипт привязывает флэшку к нужной нам кнопке и задаёт соответствующий размер. И когда мы будем нажимать (или просто наводить) на флэшку, то будет происходить копирование в буфер.

Не буду голословным и перейду к делу (и ты это говоришь после страницы текста? – прим.ред.). Предлагаю для скачки архив с сайта разрабочика и ссылку на описание от xiper,net – там очень доходчиво расписаны все функции плагина. Я, в свою очередь, поделюсь своим примером и некоторыми замечаниями по работе с плагином, чтобы вы, дорогие читатели, были в теме.

 

Итак, а теперь о некоторых минусах плагина:

  • Самый большой минус плагина заключается в следующем. К примеру, есть поле textarea, из которого я хочу скопировать содержимое. Нажимаем, копируется. Вроде бы хорошо, НО. Если я внесу изменения в поле, то изменения скопированы не будут, будет скопирован лишь изначальный текст, увы. Обойти эту тему может и возможно, но я не пробовал.
  • Если запускать пример просто из папки на компе – он не работает. Особо не заморачивался, но пришлось пример поднимать на сервере. Мелочь, а неприятно
  • Если флэшплеер на компе не установлен, работать плагин, ясен перец, не будет.

Вот пожалуй и всё. Если всё таки копирование понадобится, плагин есть, правда со своими небольшими ограничениями. Могу лишь добавить, что аналога лучше я не встречал, так что используйте на здоровье.

Пишите мнения на тему копирования, приходилось ли сталкиваться с этим вопросом и как вы его решали! Буду рад обсудить и пообщаться!

С вами был ШуБложник в хорошем настроении – Александр. До новых встреч!

1 звезда2 звезд3 звезд4 звезд5 звезд (голосов: 2, средний: 3.00 из 5)
Понравилась статья или журнал? Подписывайся на продолжение!
Отзывов: 4 на запись

"Как скопировать текст в буфер по нажатию кнопки? ZeroClipboard!"

  1. А какие плагины обычно используют для блоков с кодом, где сразу есть такая кнопка?

  2. если честно, то я не знаю. помню где-то один-два раз давно видел, но как-то даже и не задумывался порыскать на тему. а найти такой плагин можно только методом перебора.

  3. у меня убунта 12,04, не работает эта ерунда, в опере гугле и мазиле, какие только плагины не ставил ноль. вроде копирует в буфер а там нет ничего

  4. Александр Шуйский
    09/08/2013 at 15:00 Постоянная ссылка Цитировать

    Пример, размещённый по ссылке выше, не работает вообще из-под пингвина, хотите сказать? Сам ни разу не проверял, и возможности проверить под пингвина вообще нет. Ради интереса могу на коллеговском маке проверить, разве что.

Добро пожаловать, коллега! Вы можете оставить свой отзыв:





Допустимые XHTML-теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Подписка на комментарии