根据documentation我想使用此设置覆盖预定义格式:
formats: {
bold : {inline : 'b' },
italic : {inline : 'i' },
underline: { inline: 'u' }
},
我在编辑器中插入“this is a text”并按下划线按钮。 这是结果(这也会保存到数据库中):
<p>thi<span style="text-decoration: underline;">s is a t</span>ext</p>
为什么我没有获得u-tag,但带有下划线样式的预定义跨度? 我如何在这里获得可爱的u标签?
编辑: 我知道u-tag已被弃用,但出于兼容性原因我需要它们!
EDIT2:我的解决方案归功于已接受的答案:
我能够使用legacyoutput插件中的一些代码。我使用了i nline_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);
});
答案 0 :(得分:14)
http://tinymce.moxiecode.com/wiki.php/Plugin:legacyoutput
(见评论)
我不知道这是否正确,我只是重申我found here:
首先,你被警告:
<u>
已被弃用。
然后:
禁用inline_styles选项。
内联样式将大多数属性转换为CSS样式属性 - 因此它将使用span标签而不是<u>
,<strike>
等。因此,禁用此选项(现在默认启用)会给出您的行为寻找。
可替换地:
这样做:
tinyMCE.init({
...
formats : {
underline : {inline : 'u', exact : true}
}
...
祝你好运!
答案 1 :(得分:8)
由于这一点,我还需要SSRS 2008报告的<u>
标记,这些标记不支持新的<span style="text-decoration: underline;">
标记。
这种组合对我有用:
inline_styles: false,
formats: {
underline: { inline: 'u', exact : true }
}
答案 2 :(得分:0)
在这里工作?
此外,不推荐使用u
代码,以及b
和i
,这就是我们现在使用CSS的原因:
.className {
text-decoration: underline;
font-weight: bold;
font-style: italic;
}