Вставка тегов (редактор WYSIWYG JavaScript)

В настоящее время я работаю над редактором WYSIWYG для клиента (он не похож на любой другой редактор, он также сможет вставлять рисунки с помощью HTML5). И я изучал и использовал несколько способов вставки содержимого.

Хорошо, у меня есть div с contentEditable, установленным на «true», и я застрял на пути, чтобы изменить размер / шрифт текста, вставив теги до и после курсора или что-то подобное. Я пробовал использовать режим дизайна с execcommand, но это не сработало. Кто-нибудь может помочь?


person user425862    schedule 20.08.2010    source источник
comment
Вы смотрели на другие редакторы WYSIWYG, чтобы узнать, как они работают?   -  person strager    schedule 20.08.2010
comment
Думали ли вы о создании существующего редактора WYSIWYG? Необходимость в возможности вставлять рисунки не исключает такой возможности.   -  person Pekka    schedule 20.08.2010
comment
Я считаю, что есть интеграция TinyMCE с PaintWeb (редактор холста html 5). robodesign.ro/paintweb/trunk/demos/demo-tinymce.html < / а>   -  person Cristian Sanchez    schedule 21.08.2010


Ответы (1)


Тебе есть чем заняться. Если вы беретесь за это, имейте в виду, что написать редактор WYSIWYG на JavaScript - сложная и трудоемкая задача: есть много ошибок, причуд и расхождений между браузерами и тот факт, что вы здесь задаете такой общий вопрос на Stack Overflow на данном этапе не сулит ничего хорошего. Большинство разработчиков браузеров имеют легко доступную документацию по их реализациям designMode и contenteditable (см. MDC , например), так что вы можете начать там. Чтобы делать такие вещи, как вставка элемента в курсор, вам также необходимо научиться работать с Выборки, Диапазоны уровня 2 DOM и TextRanges в IE до версия 8. Наконец, может помочь просмотр исходного кода некоторых популярных редакторов, таких как TinyMCE и CKEditor; более простые редакторы меньшего размера (их много) могут быть еще более полезными.

person Tim Down    schedule 20.08.2010