Сохранение HTML-форматирования после обработки JS
Добрый день! Есть функция:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>-</title> </head> <body> <script type="text/javascript"> function addLink() { var selection = window.getSelection(), copytext = String(selection), newdiv = document.createElement('div'), a ={"Ё":"YO","Й":"I","Ц":"TS","У":"U"}; function translite(trans_str) { return trans_str.split('').map(function(char){ return a[char]||char; }).join(""); } copytext = translite(copytext); newdiv.style.position = 'absolute'; newdiv.style.left = '-99999px'; document.body.appendChild(newdiv); newdiv.innerHTML = copytext; selection.selectAllChildren(newdiv); window.setTimeout(function () { document.body.removeChild(newdiv); }, 100); } document.addEventListener('copy', addLink); </script> <p> ЁЁЁЙЙЙЦЦЦУУУ </p> </body> </html> После обработки она выводит данные сплошной строкой, без изначального форматирования. Например, когда копируешь в Word. Ну оно и понятно почему - в процессе данные преобразуются в строку... Но я вот думаю, а можно ли как-то сохранить HTML-форматирование в данном случае? Может реализовать всё другим способом, без перевода в строку... Заранее спасибо! ps Понимаю, что наверное вряд ли, ну а вдруг! pps Ну может удастся хотя бы не полное форматирование, а перевод строки на следующую сохранить? |
А? Шта?! Куда сохранить?
В коде оно и так никуда не девается. Передать в буфер обмена? Нет, нельзя, законы те же, что и для Ворда. Да и зачем, куда вы намерены потом его вставлять? Если на другой сайт или в редактор то можно сохранить вместе со всеми тегами в виде строки. |
Цитата:
В результате когда мы откроем страницу в браузере и скопируем весь (или часть) теста в тот же Ворд, то форматирование по параграфам сохранится. Если же подключить скрипт, то оно слетит и при вставке всё будет выведено одной строкой... Вот мне и надо сохранить форматирование, так как в процессе работы будут копироваться больше объемы текста 30-50тыс символов и потом еще возвращать всё форматирование вручную очень не хочется... Да, и если бы я это делал для себя, то конечно бы наверное так и поступил, как вы предлагаете, сохранив всё вместе с тегами, вставив в HTML-файл на компе, и потом открыв эту страницу на локале в браузере и уже её скопировав в ворд. Но, во-первых, это всё же много лишних движений, а во-вторых, заниматься этим буду не я, а люди далекие от работы за компом, которые еще смогут открыть сайт, скопировать оттуда инфо и сохранить в ворде, а вот что посложнее - вряд ли... Понятно, что если всё же идея окажется нереализуема, то придется их учить, ну а если как-то можно, то почему бы не сделать? |
Как я бы сделал - скопировал html как есть, а потом прошелся бы по тегам и сделал форматирование.
|
Цитата:
|
eddin,
строка 13 попробуйте так a ={"Ё":"YO","Й":"I","Ц":"TS","У":"U","\n" : "<br>"}; |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Рони, спасибо!!!:) |
Часовой пояс GMT +3, время: 16:07. |