Подчеркнуть проблему формата - PullRequest
5 голосов
/ 07 марта 2011

В соответствии с документацией я бы хотел перезаписать предопределенные форматы, используя следующие настройки:

formats: {
        bold : {inline : 'b' },  
        italic : {inline : 'i' },
        underline: { inline: 'u' }
    },

Я вставляю «это текст» в редактор и нажимаю кнопку подчеркивания. Это результат (он также сохраняется в базе данных):

<p>thi<span style="text-decoration: underline;">s is a t</span>ext</p>

Почему я не получаю u-тэги, а предопределенный диапазон с подчеркнутым стилем? Как я могу получить мои прекрасные U-теги здесь?

РЕДАКТИРОВАТЬ: Я знаю, что U-теги устарели , но они мне нужны по соображениям совместимости!

EDIT2: Мое решение благодаря принятому ответу:

Мне удалось использовать некоторый код из плагина legacyoutput. Я использовал настройку i nline_styles

inline_styles: false,

дополнительно я добавил следующий код в один из моих плагинов на Init

serializer = ed.serializer;

// Force parsing of the serializer rules
serializer._setup();

// Check that deprecated elements are allowed if not add them
tinymce.each('b,i,u'.split(','), function(name) {
  var rule = serializer.rules[name];

  if (!rule) serializer.addRules(name);
});

Ответы [ 3 ]

15 голосов
/ 07 марта 2011

Реальный ответ здесь оказался:

http://tinymce.moxiecode.com/wiki.php/Plugin:legacyoutput
(см. Комментарии)


Я не знаю, является ли этоправильно, я просто повторяю то, что я нашел здесь :

Во-первых, вы предупреждены, что:

<u> устарело.

Тогда:

Отключить параметр inline_styles.
Встроенные стили преобразуют большинство атрибутов в атрибуты стиля CSS - поэтому они будут использовать теги span вместо <u>, <strike>и т. д. Итак, отключение этой опции (которая теперь включена по умолчанию) дает поведение, которое вы ищете.

В качестве альтернативы:

Это сделает это:

tinyMCE.init({
    ...
    formats : {
        underline : {inline : 'u', exact : true}
        }

...

Удачи!

8 голосов
/ 23 января 2014

Спасибо за это, мне также нужны теги <u> для отчетов SSRS 2008, которые не поддерживают новый тег <span style="text-decoration: underline;">.

Эта комбинация работала для меня:

inline_styles: false,
formats: {
    underline: { inline: 'u', exact : true }
}
0 голосов
/ 07 марта 2011

Здесь работает?

http://jsfiddle.net/dFY6r/

Также не рекомендуется использовать теги u, наряду с b и i, поэтому мы сейчас используем CSS:

.className {
    text-decoration: underline;
    font-weight: bold;
    font-style: italic;
}
...