Живой буфер обмена
![]() | |
Разработчик(и) | Майкрософт |
---|---|
Предварительный выпуск | 0.93 |
Тип | Вырезать, копировать и вставлять |
Лицензия | Бесплатное ПО |
Веб-сайт | код |
Live Clipboard — это расширяемый формат данных и набор технологий пользовательского интерфейса, используемых для поддержки операций копирования и вставки между веб-приложениями в браузерах, а также между веб-приложениями и настольными приложениями. В отличие от типичного процесса копирования и вставки в браузерах, механизму Live Clipboard никогда не требуется отображать диалоговое окно безопасности конечному пользователю, что обеспечивает более оптимизированный пользовательский интерфейс.
Live Clipboard распространяется по лицензии Creative Commons Attribution-ShareAlike (версия 2.5). По состоянию на конец 2009 года обновленную спецификацию, файлы Javascript и пример кода можно найти здесь: [1] [2]
Техническое введение в DHTML
[ редактировать ]DHTML Live Clipboard обеспечивает функцию копирования и вставки данных, связанных с веб-страницей, с использованием формата данных XML Live Clipboard. Он состоит из следующих компонентов:
- Элементы пользовательского интерфейса для отображения значка живого буфера обмена
- Объекты 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 — «Подключение к Интернету» » . ТехКранч .