Редактирование бюллетеня на основе HTML в браузере - шаблон оформления «страница внутри страницы» - PullRequest
0 голосов
/ 24 февраля 2012

Я создаю приложение, позволяющее пользователям создавать свои собственные почтовые рассылки на основе предварительно определенных шаблонов.

У меня есть страница с названием проекта и т. Д., И в нем выложен бюллетень. Для этого я использую iframe, так как это кажется самым простым решением.

application page
    iframe
        html template with html content

Теперь, когда я работаю над страницами редактирования, я начинаю сомневаться, что iframe является решением для этой ситуации.

На странице редактирования я хочу показать редактор, встроенный в тело шаблона новостной рассылки, чтобы пользователи могли редактировать редактируемую область на месте, все еще видя шаблон. Кроме того, я хочу показать им предварительный просмотр, прежде чем они сохранят новую версию.

Итак, экран редактирования будет выглядеть примерно так:

application page
    html template containing the editable area
        ckeditor allowing editing the editable area

Теперь, если я использую iframe для редактируемого представления, тогда ckeditor должен быть встроен в iframe. И если я отправлю iframe, то страница приложения не обновится. Это решение и обходные пути кажутся чрезмерно сложными.

application page
    iframe
        html template containing the editable area
           ckeditor allowing editing the editable area

Итак, каким будет другое решение?

Я подумываю о том, чтобы взять CSS-стили шаблона бюллетеня и содержимое тега body и отобразить их на странице приложения. Я должен убедиться, что стили определены уникально для приложения, чтобы они не конфликтовали со стилями новостной рассылки, что может быть выполнимо. Также у меня есть контроль над шаблонами, и я смогу определить области, которые нужно объединить в теле страницы.

application page
    merged html template css
    html template body tag content 
        ckeditor allowing editing the editable area

Мне это кажется немного хрупким, так как мне пришлось бы динамически извлекать стили и содержимое тегов body, и я не уверен, что они будут отображаться на странице приложения на 100% правильно.

Я полагаю, что это довольно распространенная модель, и мне интересно, как другие решили проблему или как бы вы ее решили?

Особенно интересно, возможно ли изменение дизайна, которое упростит процесс и техническое решение.

Я строю это в Rails 3.2.

1 Ответ

0 голосов
/ 20 мая 2012

Я построил нечто очень похожее на это. Я подумал об использовании редактора WYSIWYG, такого как FCK, но было слишком сложно заставить его удалить свои собственные стили или вычислить визуализированный стиль текстового узла.

Вместо этого я использовал атрибут contenteditable для любых соответствующих элементов.

В бэкэнде iframe постоянно пишет на сервер при внесении изменений. Потенциально вместо этого вы можете использовать хранилище HTML5, а затем уменьшить частоту вызовов AJAX.

Таким образом, вы получаете полный контроль над стилями и тем, как они применяются.

...