Введение

Онлайн-интерфейс для редактирования форматированного текста, используемый при создании веб-сайтов. Онлайн-редактор форматированного текста – это интерфейс для редактирования форматированного текста непосредственно в веб-браузере, предоставляющий пользователю область редактирования типа "что вы видите, то и получаете" (WYSIWYG). Цель – упростить задачу для пользователей, стремящихся задать форматирование без непосредственной работы с HTML-разметкой. Хотя самые первые браузеры могли отображать форматированный текст, ввод данных пользователем ограничивался текстовыми полями с единственным шрифтом и стилем (реализованными с помощью HTML-элемента <textarea>). Internet Explorer первым внедрил специальный "designMode", позволявший пользователю редактировать отформатированные части документа с помощью курсора. Mozilla последовала этому примеру в версии 1.3, и большинство современных браузеров в той или иной степени поддерживают этот неформальный стандарт. Технические возможности, необходимые для реализации онлайн-редактора форматированного текста, не были предусмотрены спецификациями W3C для HTML4. Однако популярные сервисы, такие как Gmail и WordPress, используют редактирование форматированного текста в качестве основного пользовательского интерфейса. С появлением HTML5 была произведена частичная стандартизация с помощью свойства DOM под названием "contentEditable", которое аналогично первоначальному расширению Internet Explorer. Многие онлайн-офисные пакеты предлагают функции онлайн-редактирования и форматирования текста.

Подход

Большинство онлайн-редакторов форматированного текста используют элемент `iframe` для области контента. Это позволяет отделить содержимое редактора от остальной части страницы, поскольку оно находится в отдельном документе. Преимущество такого разделения заключается в том, что редактор можно использовать в любом месте сайта (например, в административной панели), при этом сохраняя стили контента, которые пользователи ожидают увидеть после публикации (например, в публичной части сайта). Некоторые редакторы используют элементы `div` для области контента. В этом случае содержимое редактора наследует стили, применяемые ко всей странице, поскольку оно находится в том же документе. Такой подход в основном используется, когда пользователям необходимо редактировать контент непосредственно на странице, сохраняя общий макет. Примером редактора, работающего по принципу редактирования "на месте", является DotNetNuke CMS.

Реализация

Инлайн-редакторы отличаются от обычных редакторов тем, что позволяют редактировать содержимое непосредственно, не заключая его в другой элемент, часто с использованием атрибута `contenteditable`. К таким редакторам относятся Aloha Editor, CKEditor, SnapEditor и TinyMCE. Редакторы, использующие iframe для предотвращения конфликтов стилей, включают CKEditor, Dijit Editor и TinyMCE.