Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Live Clipboard - это расширяемый формат данных и набор технологий пользовательского интерфейса, используемых для поддержки операций копирования / вставки между веб-приложениями в браузерах, а также между веб-приложениями и приложениями для настольных компьютеров. В отличие от обычного копирования / вставки в браузерах, механизму 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.

Ссылки [ править ]

Внешние ссылки [ править ]