Я создал простой инструмент, чтобы сотрудники могли персонализировать подпись электронной почты своей компании.Этот инструмент создает стилизованный текст с жирным шрифтом и немного цвета, ничего особенного.Если я затем выделю текст, скопирую и вставлю его в поле моей подписи Gmail, все будет хорошо.Сохраняет форматирование.Однако я бы предпочел дать пользователю возможность нажать кнопку «Копировать», которая копирует отформатированный контент в их буфер обмена.
В настоящее время я использую ZeroClipboard для добавления функции «копировать в буфер обмена» иэто работает отлично.Дело в том, что я не знаю, как получить этот форматированный текст.Он просто копирует неформатированную версию.Я попытался добавить слушателя mouseDown в ZeroClipboard, который выделяет текст следующим образом:
function selectText() {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById('clicktocopy'));
range.select();
}
else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById('clicktocopy'));
window.getSelection().addRange(range);
}
}
Затем возвращает выделение следующим образом:
function getText() {
if (window.getSelection) {
var range = window.getSelection();
return range.toString();
}
else {
if (document.selection.createRange) {
var range = document.selection.createRange();
return range.text;
}
}
}
Однако это только копированиенеформатированный текст.Можно ли скопировать отформатированный текст?
Мой форматированный текст находится в div с идентификатором «results».