0

CKEDITOR 配置中的format_tags属性和属性有什么区别?stylesSet

我将 API 用于一些自定义按钮(它们在 DOM 中,而不是在编辑器本身中),并且我还有一个样式下拉列表。

我首先使用了该format_tags属性:

var tags = config.format_tags.split( ';' );
// Create style objects for all defined styles.
var styles = {};
$.each(tags,function(i,tag) {
  styles[ tag ] = new CKEDITOR.style( config[ 'format_' + tag ] );
  styles[ tag ]._.enterMode = ckeditor.config.enterMode;
});

在此之后,我可以调用所需的样式函数来应用(或删除)它。

今天我偶然发现了这个stylesSet属性,我可以这样使用它:

CKEDITOR.stylesSet.add('my_custom_style', [
  { name: 'My Custom Block', element: 'h3', styles: { color: 'blue'} },
  { name: 'My Custom Inline', element: 'span', attributes: {'class': 'mine'} }
]);

这对我来说看起来更好,因为我知道可以为元素使用额外的类和内联样式。

有人可以解释为什么有两种格式化文本的方法吗?format_tags当您有更好的配置选项时,为什么要使用stylesSet

4

4 回答 4

1

我调查了一下。似乎您可以使用与 a 相同的format_tag格式stylesSet

我现在在我的配置中有这个:

config.format_tags = 'h1;h2;h3;test';
config.format_test = { element : 'span', attributes : { 'class' : 'test' }, styles: { color: 'blue'} };

这最适合将自定义格式标签添加到您的 ckeditor。

于 2012-11-02T11:58:55.820 回答
0

如果您使用不同的语言,请不要忘记将自定义标签翻译添加到“格式”部分。../lang/nl.js 否则新标签在格式下拉列表中不可见。

"format": {
  .......       
  "tag_test": "tekst met css"
}
于 2013-07-03T06:43:02.783 回答
0

如果我想为格式标签添加自定义部分标签,这对我有用:

1. 转到 config.js,添加
config.format_tags = 'h1;h2;h3;h4;h5;h6; 部分';
config.format_section = {元素:'section',属性:{'class':'test'}};

2. 然后打开你想要的语言文件(例如 en.js)-> lang/en.js
搜索 "tag_pre":"Formatted",并添加"tag_section":"Section"

于 2015-06-10T02:56:02.307 回答
0

实际上有两个下拉列表。一个用于标签选择,第二个用于样式选择。可以在配置中更改工具栏中这些字段的可见性。 在此处输入图像描述

标记下拉列表

更改当前块元素标签类型(p、h1、h2、...)。例如,此列表的配置format_tags: 'p;h2;h3;h4;div;pre'在这里了解更多

样式下拉列表

更改当前选定元素的各种设置(不仅是块元素)。例如,您可以使用它为图像赋予特定类别。此列表的配置例如:

stylesSet: [
            {
                name : 'Image on the left',
                element : 'img',
                attributes : { 'class' : 'myLeftImage' }
            }
        ]

在这里了解更多

于 2017-01-14T19:34:48.593 回答