Живой буфер обмена - Live Clipboard
Разработчики) | Microsoft |
---|---|
Предварительный выпуск | 0.93 |
Тип | Вырезать, скопировать и вставить |
Лицензия | Бесплатное ПО |
Интернет сайт | код |
Живой буфер обмена это расширяемый формат данных и набор технологий пользовательского интерфейса, используемых для поддержки операции копирования / вставки между веб-приложениями в браузерах, а также между веб-приложениями и настольными приложениями. В отличие от обычного копирования / вставки в браузерах, механизму Live Clipboard никогда не требуется отображать диалоговое окно безопасности для конечного пользователя, что обеспечивает более удобное взаимодействие с пользователем.
Live Clipboard находится под лицензией Creative Commons Attribution-ShareAlike License (версия 2.5). По состоянию на конец 2009 года обновленную спецификацию, файлы Javascript и образец кода можно найти здесь:[1][2]
Техническое введение в DHTML
DHTML с динамическим буфером обмена обеспечивает функцию копирования / вставки данных, связанных с веб-страницей, с использованием формата данных XML с динамическим буфером обмена. Он состоит из следующих компонентов:
- Элементы пользовательского интерфейса для отображения значка динамического буфера обмена
- Объекты Javascript, представляющие объектную модель Live Clipboard
- Javascript, который обрабатывает сериализацию и десериализацию XML-данных Live Clipboard
- Регистрация функции обратного вызова Javascript для получения данных для копирования и отправки данных для вставки.
Он разработан с использованием стандартных методов Javascript и CSS для «переноса буфера обмена в Интернет» и для работы в максимально возможном количестве браузеров. В настоящее время проверена работа в IE 8 и Mozilla Firefox 3.5.2. Управление не зависит от установки каких-либо клиентских приложений или подключаемых модулей браузера, и он никогда не получает доступ к содержимому буфера обмена без явных действий пользователя.
Как это устроено
Элемент управления помещает прозрачный (непрозрачность = 0) элемент ввода в содержащий div
элемент с фоновым изображением значка буфера обмена .png. Когда пользователь переводит фокус на ввод, щелкая его левой или правой кнопкой мыши, используя табуляцию и т. Д., Сценарий управления получает данные, которые следует скопировать, вызывая функцию OnGetLiveClipboardData. Эта функция обратного вызова реализуется разработчиком страницы и возвращает экземпляр LiveClipboardClass, содержащий данные, которые должны быть скопированы в буфер обмена. Затем управляющий сценарий сериализует эти данные в XML-формат Live Clipboard, который он устанавливает как значение входного элемента и выбирает.
На этом этапе, если пользователь выдает команду «скопировать» через контекстное меню, меню редактирования браузера, ctrl-C команда и т. д., выбранное содержимое ввода помещается в буфер обмена. Или же, если пользователь выдает команду «вставить», значение ввода заменяется текущими данными в буфере обмена. В этом случае управляющий сценарий обнаруживает, что входное значение изменилось, десериализует значение из формата XML Live Clipboard в экземпляр LiveClipboardClass и передает объект в функцию OnHandleLiveClipboardData.
Функция обратного вызова вставки реализуется разработчиком страницы и реагирует на вставленные данные по желанию. В частности, он может перебирать существующие форматы данных, применять данные в любом распознанном формате (-ах) к странице, выполнять асинхронный вызов веб-сервера для сохранения состояния, настраивать новую подписку на канал и т. Д. ничего не делать, например, когда ни один из форматов вставленных данных не подходит для связанных данных.
Существуют механизмы использования событий клавиатуры для запуска копирования / вставки. Это достигается путем вызова функций InitiateKeyboardCopyToLiveClipboard и InitiateKeyboardPasteFromLiveClipboard.
Рекомендации
- ^ «Живой буфер обмена».
- ^ Аррингтон, Майкл (7 марта 2006 г.). «Буфер обмена Microsoft Live -» Подключение Интернета"". TechCrunch.