【问题标题】:Underline format problem下划线格式问题
【发布时间】:2011-07-10 08:11:40
【问题描述】:

根据documentation,我想使用此设置覆盖预定义格式:

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-tag?

编辑: 我知道不推荐使用 u-tags,但出于兼容性原因我需要它们!

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

我能够使用 legacyoutput 插件中的一些代码。我用的是 inline_styles setting

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

【问题讨论】:

    标签: html editor format tinymce rte


    【解决方案1】:

    这里真正的答案原来是:

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


    我不知道这是否正确,我只是重申一下我found here

    首先,警告您:

    &lt;u&gt; 已弃用。

    然后:

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

    或者:

    这样就可以了:

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

    祝你好运!

    【讨论】:

    • 出于兼容性原因,我确实需要 u-tags。不幸的是,下划线:{inline : 'u', exact : true} 不起作用
    • @Thariama:该线程中唯一提到的另一件事是:tinymce.moxiecode.com/wiki.php/Plugin:legacyoutput - 然而,这不仅仅是&lt;u&gt;。如果这些都没有用,我将删除我的答案。
    • +1 thx,这很有用(有效),但我仍然不知道 legacyoutput 插件是否还有其他可能影响其他事情的事情
    • @Thariama:如果其他更改成为问题,则可能值得分叉插件以仅处理 &lt;u&gt; 标签。我想这会相对容易——只需从插件中删除与其他标签有关的东西。
    • 也发现了这一点,并决定只使用生成 u-tags 所需的几行代码
    【解决方案2】:

    谢谢你,我还需要&lt;u&gt; 标记用于不支持新的&lt;span style="text-decoration: underline;"&gt; 标记的SSRS 2008 报告。

    这个组合对我有用:

    inline_styles: false,
    formats: {
        underline: { inline: 'u', exact : true }
    }
    

    【讨论】:

      【解决方案3】:

      在这里工作?

      http://jsfiddle.net/dFY6r/

      另外,u 标签已被弃用,bi 这就是我们现在使用 CSS 的原因:

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

      【讨论】:

      • 我认为他只是想要 &lt;u&gt; 标签,因为它更短(而且他不在乎 [或知道?] 它已被弃用)。
      • @thirtydot - 的确如此,但教育也无妨,对吧?我尝试确保我的所有答案都符合标准(除非它有一些荒谬的 XHTML Strict 警告......
      • 我根本不想要任何 span 标签,我想要一个 u-tag(这很关键)
      猜你喜欢
      • 2015-12-08
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 2023-03-10
      • 2018-03-12
      • 2017-07-19
      相关资源
      最近更新 更多