2010-09-10 5 views
2

Я ищу, чтобы создать редактор WYSIWYG, используя jQuery в качестве рамки, из которой я могу использовать различные методы для упрощения производства.Альтернативы execCommand

У меня действительно есть рабочий редактор на данный момент, и он работает хорошо. Я использую iFrame и устанавливаю его designMode на и дальше оттуда. Однако есть несколько вещей, которые насмехаются.

В качестве примера можно привести семейство шрифтов выбранного текста. На данный момент я использую это:

editorDoc.execCommand('fontname', false, 'verdana'); 

... теперь работает отлично: он показывает изменение правильно в плавающем фрейме. Однако, когда я на самом деле посмотреть на коде (скопировать любой код внутри плавающего фрейма в скрытый вход, а затем POST его) она производит

<font class="Apple-style-span" face="verdana">aasdf</font> 

Я понимаю, что первый класс Apple-стиль-диапазон является WebKit вещь, которая не имеет значения. Вещь, которая насмехается, - это использование <font>.

Исследуя execCommand, похоже, что это не стандарт, хотя большинство браузеров поддерживают его. Это is старый, хотя мне было интересно, слышал ли кто-нибудь или знал о более эффективном методе создания такого же эффекта, надеясь, что это более семантический код продукта. Также было бы фантастическое не ограничиваться плавающим фреймом, но, чтобы иметь возможность использовать <textarea> вместо ..

Большого спасибо заранее, Гарет

Edit: Может contentEditable помочь мне с моей целью не использовать iFrame?

+0

Да, contentEditable может вам помочь. Но вы должны исследовать проблемы совместимости с ним. Также учтите, что CSS-документ, содержащий редактор, будет применяться к содержимому редактора, если вы не используете iframe. – thorn

ответ

1

Вы можете делать любые манипуляции с DOM iframe с использованием обычных методов DOM. Посмотрите в источники TinyMCE, если вам нужны некоторые идеи.

+0

Хорошо, спасибо. Я не совсем уверен, как DOM будет применен, поэтому я загляну в TinyMCE. Благодарю. – GarethPrice

Смежные вопросы