Javascript - копіювання в буфер за допомогою, ит шеф
У цій статті розглянемо скрипт clipboard.js. який можна використовувати для організації копіювання деякого вмісту веб-сторінки в буфер обміну.
clipboard.js - js скрипт для копіювання тексту в буфер
Clipboard.js - це сучасний скрипт, який використовується для того щоб надати користувачеві можливість більш просто скопіювати (наприклад, за допомогою натискання на кнопку) деяку інформацію представлену на сторінці сайту в буфер обміну. Робота даного скрипта спирається на API Selection and execCommand.
Скрипт працює в браузерах Chrome 42+, Firefox 41+, IE 9 + Opera 29+, Safari 8.
Переваги скрипта clipboard.js:
- Не вимагає для своєї роботи Flash (як наприклад ZeroClipboard).
- Не має залежностей, тобто не вимагає для своєї роботи наявність підключеної бібліотеки jQuery.
- Має дуже маленький розмір.
Основи роботи з clipboard.js
Завантажити zip-архів, розпакувати його і скопіювати файл clipboard.min.js в необхідний каталог на сайті.
Підключити файл clipboard.min.js до необхідних сторінок на сайті.
Ініціалізувати Clipboard для необхідних елементів на сторінці, за допомогою передачі йому DOM-селектора, HTML-елемента або списку, що складається з HTML-елементів. Тобто необхідно функції-конструктору Clipboard передати елементи, при натисканні на які інформація буде копіюватися в буфер.
Наприклад, инициализируем Clipboard для всіх елементів на сторінці мають клас .btn-clipboard.
Додати атрибути data- * Ініціалізувати HTML елементам.
Розглянемо наступні варіанти:
2. Вирізати текст з іншого елемента
Приклад створення кнопки, призначеної для копіювання інформації в буфер
Розглянемо приклад, в якому створимо кнопку для елемента pre. при натисканні на яку контент цього елемента (pre) буде копіюватися в буфер обміну.
Додаткові можливості clipboard.js
Розглянемо основні можливості, які надає js-скрипт clipboard.js.
події clipboard.js
Дії при копіюванні інформації в буфер можна відстежувати за допомогою подій clipboard.js. Усього доступно 2 події. Перша подія (success) відбувається після успішного копіювання, а друге (error) виникає в разі помилки (невдачі).
Вказівка джерела копіювання за допомогою функції
Clipboard.js дозволяє вказувати мету (елемент, вміст якого необхідно скопіювати або текст) не тільки за допомогою data-атрибутів, а й динамічно за допомогою функції. Це дозволяє не вносити зміни в Ваш код HTML, тобто позбавляє Вас від необхідності додавати до елементів атрибути data і id.
Розглянемо це на наступних прикладах:
1. Динамічне встановлення мети (target).
2. Динамічне встановлення тексту.
Приклади, які використовують додаткові можливості clipboard.js
Розглянемо кілька прикладів, в яких будемо використовувати додаткові можливості, які пропонує скрипт clipboard.js.
1. Приклад динамічного створення кнопок копіювання для всіх елементів pre на сторінці.
2. Приклад, в якому будемо використовувати події clipboard.js для створення інтерактивності процесу копіювання в буфер.