Создание простого редактора WYSIWYG

Я понимаю, что создание WYSIWYG/Rich Text Editor - это абсурдная вещь, учитывая множество разных, раздражающих вещей, необходимых для поддержки кросс-браузера. Однако проект, над которым я сейчас работаю, требует очень простого редактора WYSIWYG (три варианта, ссылка, жирный шрифт и курсив).

Мой вопрос: тогда я собираюсь потратить столько времени на настройку и обработку TinyMCE, чтобы соответствовать моим требованиям, или это задача создания моего собственного довольно простого, учитывая тот факт, что есть только три варианта (и ничего подобного изменению размера текста или отменить/повторить)?

Кроме того, является ли общий консенсус еще iFrame и designMode или мы значительно продвигаемся по каналу HTML5, который я могу использовать с contentEditable?

Ответ 1

Вы должны задать себе один вопрос, чувствуете ли вы себя счастливым? H ^ H ^ H ^ H ^ H ^ H ^ H ^ H вы хотите сохранить указанный редактор WYSIWYG?

Два года назад я подумал, что это будет хорошая идея. Я использовал редактор, используемый здесь в stackoverflow. Отбросил весь код пользовательского интерфейса и переписал все это с самого начала, сохранив только парсинг разметки. И позвольте мне сказать вам, уценка намного проще, чем HTML/WYSIWYG. Последний javascript, только пользовательский интерфейс, имеет 1600 строк кода и занял около 2 недель, чтобы написать первый проход полной функциональности.

Я реализовал его в веб-приложении, над которым я работал некоторое время, и научился чему-то очень быстро: теперь я тратил 50% своего времени на сохранение редактора, а остальные 50% моего времени доставляли код для фактического домена, определенную часть веб-приложения, над которым я работал. Это в основном означает, что я тратил половину своего времени на то, чтобы не доставлять ничего, что действительно способствовало нижней строке веб-приложения.

Итак, как насчет того, является ли этот WYSIWYG-редактор такой важной, важной частью вашего приложения настолько, что вы готовы теперь потратить половину своего времени на поддержку? -OR- - это другие биты, которые ваша сеть приложение намного превосходит важность этой части вашего пользовательского интерфейса настолько, чтобы вы могли "подгонять его" до TinyMCE?

Кроме того, помимо TinyMCE есть намного больше возможностей, которые вы могли бы использовать в качестве отправной точки.