Как уже упоминалось ранее, изменение данных буфера обмена либо ограничено определенными браузерами, либо требует от пользователя разрешения на изменение буфера обмена. Работа вокруг этого вы могли бы
- Добавьте обработчик события к событию
oncopy
- Найдите выбор
- Добавлять/добавлять содержимое к содержимому
- Измените диапазон выбора, чтобы включить добавленное/предварительное содержимое
- Подождите, пока действие копирования не завершится
- Удалить добавленный / добавленный контент
Я возился с этим методом и создал плагин, который делает именно это. Все еще предварительная версия и пока тестируется только на FF4/Chrome 11/IE8 (и IE определенно нуждается в дополнительной доработке). Некоторые из приятных вещей, которые вы можете сделать с помощью этого метода, заключаются в том, что вы можете легко, например, обернуть цитаты сообщений форума в [quote=USER]content[/quote]
и назначить пользователя в зависимости от того, какое сообщение копируется. По умолчанию скрипт всегда выбирает стиль DOM, но не фактический HTML, поэтому, если вы, например, скопируете полужирный контент, он будет выделен жирным шрифтом при вставке в редактор форматированного текста, но только текст, если он используется. в текстовых редакторах (удаление тегов html).
Этот метод значительно упрощает добавление содержимого в начало по сравнению с добавлением, и в этом случае я все еще не уверен, полностью ли он функционален. Для IE вы можете напрямую изменить буфер обмена, но есть некоторые проблемы, например, при выборе всей страницы или если вы хотите переключить расширенное содержимое копии. У меня не было возможности провести дальнейшее тестирование браузера, но это, по крайней мере, рабочее решение для новых браузеров.
Пример: http://hertzen.com/experiments/jquery.plugin.clipboard/
Другой пример: http://hertzen.com/experiments/jquery.plugin.clipboard/thread.html
Исходный код: https://github.com/niklasvh/jquery.plugin.clipboard
person
Niklas
schedule
14.06.2011