Есть приложение на Angular 6 в котором используется typescript соответственно. Есть кнопка копирования статистики из разных частей страницы. Для копирования написан ClipboardService
который работает ClipboardService.copyToClipboard(text);
и с ним все ок.
Проблема в том что данные нужно разделить по строкам так что-бы при вставке их в текстовый файл переносы строк сохранялись. Я пытался делать это так:
const text = 'a\nb';
ClipboardService.copyToClipboard(text);
Но разделитель копируется в буфер обмена как символ, вместо того чтобы делать перенос строки.
И в файле при вставке вместо:
a
b
Я получаю:
a\nb
Как можно реализовать такое поведение чтобы я мог определять где будет перенос строки?
Вот ClipboardService
на всякий случай:
export class ClipboardService {
static copyToClipboard(toCopy : any) : void {
document.addEventListener('copy', (e : ClipboardEvent) => {
const data = JSON.stringify(toCopy)
e.clipboardData.setData('text/plain', data);
e.preventDefault();
});
document.execCommand('copy');
}
}
Спасибо.
Проблема в использовании JSON.stringify
. Который при применении к строке экранирует спецсимволы.
Если его убрать - то при вставке все будет отлично:
class ClipboardService {
static copyToClipboard(toCopy) {
document.addEventListener('copy', (e) => {
e.clipboardData.setData('text/plain', toCopy);
e.preventDefault();
console.log('copied');
});
document.execCommand('copy');
}
}
ClipboardService.copyToClipboard('a\nb');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В своём менеджере я использую очень невыгодную загрузку списка сообщений
Есть форма (тест), содержащая несколько вопросов, на которые надо давать ответы путем выбора от 0 до 5 балловСделано радиокнопками: