Как захватить форматирование, когда текст вставляется из MS Word в текстовое поле? - PullRequest
2 голосов
/ 15 января 2012

Я хочу реализовать простую (по крайней мере, так выглядит) функциональность: когда пользователь вставляет текст, скопированный из MS Word или Open Office Writer, я хочу обернуть весь текст, который был сделан жирным шрифтом в скопированном документе в <b></b> тегах.

Например, если документ Word выглядит следующим образом:

Lorem ipsum dolor sit amet, consitteur adipiscing elit.Cras velit mi, facilisis sodales facilisis sit amet, транспортная биография урны.Sed arcu velit, eleifend et luctus a, gravida vel nulla.Etiam dapibus enim fermentum diam rutrum id hendrerit elit tincidunt.Nam enim ante, feugiat pretium iaculis id, luctus sit amet diam.

Тогда, если пользователь скопирует и вставит его в текстовую область, вставленный текст будет выглядеть следующим образом:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras velit
mi, facilisis sodales <b>facilisis</b> sit amet, vehicula vitae urna. Sed
arcu velit, eleifend et luctus a, gravida vel nulla. Etiam dapibus
enim fermentum diam rutrum id hendrerit <b>elit</b> tincidunt. Nam enim ante,
feugiat pretium iaculis id, luctus sit amet diam.

Я знаю, что livejournal.com имел такую ​​функциональность, так что это вполне возможно.Каковы принципы достижения этой цели с помощью javascript / jquery?

PS Мне известны редакторы WYSIWYG, но они в основном излишни в том, что я пытаюсь сделать.

1 Ответ

1 голос
/ 15 января 2012

Ознакомьтесь с этой статьей, в которой подробно рассказывается, как сделать то, что вы ищете.Кажется, есть несколько предостережений для этого, однако Snook удалось получить достойный пример работы.http://snook.ca/archives/javascript/copying_from_mi

По ссылке:

Копирование из Microsoft Word в текстовую область с использованием JavaScript

"Я провел небольшое исследование и обнаружил, что не так много людей подробнорешение для этого, поэтому я создал свое собственное решение. Во-первых, есть пара вещей, о которых вам необходимо знать, прежде чем продолжить. Это клиентское решение, и поэтому на вашем клиенте должен быть установлен Microsoft Word.. Это решение обращается к файлам на компьютере клиента, и поэтому ваш клиент должен иметь свои настройки безопасности, чтобы сценарий не был помечен как безопасный для работы ... "

...