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