как получить tinymce ("богатый редактор" в браузере), чтобы сохранить отступ - PullRequest
5 голосов
/ 06 июня 2009

ПРОБЛЕМА: я использую Drupal с rich-редактором, а rich-редактор любит обрезать мой текст, удаляя отступы и форматирование. Это было бы неприемлемо в настольном редакторе, но люди, похоже, допускают это с помощью вьюзеров в браузере.

ВОПРОС: Как мне это отключить. Я искал вокруг, и мне еще не удалось найти лучший способ сообщить богатому редактору, чтобы сохранить отступы и форматирование текста.

Ответы [ 5 ]

3 голосов
/ 09 февраля 2016

добавить эту конфигурацию в сценарий инициализации tinymce

tinymce.init({
    protect: [/[\n\f\r\t\v]/g]
});
2 голосов
/ 18 февраля 2013

Это может быть не совсем то, что вы ищете, но модуль drupal htmlpurifier может привести в порядок HTML и сделать ваш стандарт HTML совместимым. Это может удалить отступ, но это очень полезно.

Еще один более простой модуль - htmltidy , не уверен, сможет ли он сохранить отступ.

1 голос
/ 08 июня 2009

В настройках TinyMCE есть «предварительно отформатированный» параметр (в данном случае через модуль WYSIWYG , но он есть и в модуле TinyMCE). Это должно сработать.

Снимок экрана настройки http://www.quicksnapper.com/files/3603/2949292644A2CF2A72BC21_m.png

1 голос
/ 06 июня 2009

Причина, по которой это происходит, заключается в том, что rich-editor является редактором xhtml. В xhtml большинство тегов (за исключением тега PRE) по умолчанию объединяют несколько пробельных символов в один пробел.

Чтобы преодолеть это в tinyMCE, вам нужно создать таблицу стилей, содержащую:

* {white-space: pre;}

И ссылаться на таблицу стилей как content_css при инициализации редактора. Имейте в виду, что пока вы сохраняете свой формат, он больше не будет WYSIWYG из-за характера пробелов в HTML.

Другой вариант - обернуть ваш код в элемент PRE, но нет никакой кнопки, чтобы сделать это по умолчанию в tinyMCE (или, как мне кажется).

EDIT:

Как уже упоминалось в mikl, tinyMCE также имеет опцию конфигурации для предварительно отформатированных

0 голосов
/ 09 декабря 2015

Я искал тот же самый ответ для TinyMCE в целом, и даже по состоянию на май 2015 года автор (ы) TinyMCE рассматривал возможность удаления пробелов из функции. Его нельзя отключить, даже если в документах указано, что параметр конфигурации preformatted сохранит пробел, как тег <pre>. Мне еще предстоит заставить его работать или что-то еще, и я считаю, что документация должна описывать функцию, которой больше нет в коде.

http://community.tinymce.com/forum/viewtopic.php?id=26021

Поток неоднократно предлагает, чтобы код в WYSIWYG был честной игрой для полного переформатирования, и переформатирование на стороне сервера является лучшим. Не имеет значения, что целью является минимальное переформатирование, поэтому инструмент на стороне сервера столь же разрушителен для структуры документа. По словам разработчиков TinyMCE, это WONTFIX, поэтому я сомневаюсь, что это изменится в обозримом будущем.

...