5

根据文档,我想使用以下设置覆盖预定义格式:

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-tags,而是带有下划线样式的预定义跨度?我如何在这里获得我可爱的 ​​u-tags?

编辑: 我知道 u-tags 已被弃用,但出于兼容性原因我需要它们!

EDIT2:我的解决方案感谢接受的答案:

我能够使用 legacyoutput 插件中的一些代码。我使用了inline_styles 设置

inline_styles: false,

另外,我将以下代码添加到我的插件之一 onInit

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);
});
4

3 回答 3

15

事实证明,真正的答案是:

http://tinymce.moxiecode.com/wiki.php/Plugin:legacyoutput
(见评论)


我不知道这是否正确,我只是重申我在这里找到的内容:

首先,警告您:

<u>已弃用。

然后:

禁用 inline_styles 选项。
内联样式将大多数属性转换为 CSS 样式属性 - 因此它将使用 span 标签而不是<u>,<strike>等。因此,禁用此选项(现在默认启用)会提供您正在寻找的行为。

或者:

这将做到:

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

...

祝你好运!

于 2011-03-07T12:47:03.793 回答
9

Thanks for this, I also need the <u> tags for SSRS 2008 reports which do not support the new <span style="text-decoration: underline;"> tag.

This combination worked for me:

inline_styles: false,
formats: {
    underline: { inline: 'u', exact : true }
}
于 2014-01-23T12:50:02.330 回答
0

在这里工作?

http://jsfiddle.net/dFY6r/

标签也u被弃用了,bi就是我们现在使用 CSS 的原因:

.className {
    text-decoration: underline;
    font-weight: bold;
    font-style: italic;
}
于 2011-03-07T12:48:29.850 回答