Создавая простой текстовый редактор с Ruby on Rails, как мне поместить текст, который я хочу редактировать, в iframe?

Следуя примеру здесь: http://www.quirksmode.org/dom/execCommand/

Я обнаружил, что мне нужен iframe для контента, который я действительно хочу редактировать.

Итак, вот как я создаю свой «редактор»: на моей главной странице:

<%= text_area_tag :selected_text, :style => "display: none" %>
<%= text_area_tag :suggested_text, :label=>false, :resizable => false, :style => "display: none"%>
<%= render :partial => "/shared/simple_editor", :locals => {:text_box => "suggested_text", :initial_text => "selected_text" }%>

И затем в этом частичном у меня есть javascript из приведенной выше ссылки и этот код:

<div class="simple_editor">
    <input type="button" value="Bold" id="bold">
    <input type="button" value="Italic" id="italic">
    <input type="button" value="Underline" id="underline">

    <div class="input_container">   
iframe stuff goes here
    </div>
</div>

Как видишь, я не продвинулся далеко.

Теперь, когда форма загружается, я заполняю поля через javascript (эта часть работает). Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как выполнять фактическое редактирование с помощью iframe.

Я знаю, что мне нужно установить contentEditable, но это все.


person NullVoxPopuli    schedule 24.10.2011    source источник


Ответы (1)


Я не могу сказать, является ли создание собственного редактора WYSIWYG целью вашего проекта или просто тем, что вам нужно в вашем проекте. Я бы посоветовал вам проверить существующие варианты, такие как http://ckeditor.com/, в любом случае. Вы можете узнать, как они выполняют различные команды, и работать над созданием собственного редактора, или вы можете просто добавить его в свое приложение, если вам просто нужен редактор, и вы не хотите тратить время на его создание.

person ctcherry    schedule 24.10.2011
comment
нет, все, что мне нужно, это жирный / курсив / подчеркнутый, мне не нужен весь этот объем =\ - person NullVoxPopuli; 24.10.2011
comment
Хорошо, я понимаю, что вы имеете в виду. Вы все еще можете видеть, какова их основная реализация. - person ctcherry; 24.10.2011