如何理解CKEditor4的"justify"选项?

How to understand CKEditor4's "justify" option?

我通过这个 link:

集成了最新版本的 CKEditor 4 标准版(撰写本文时为 v4.15)

https://cdn.jsdelivr.net/npm/ckeditor4/ckeditor.js

根据定义,CKEditor 4 标准版不包括“Justify”插件,该插件负责对齐文本(左、右、居中、对齐)——至少根据我的理解——根据预设:

https://ckeditor.com/cke4/builder

事实上,如果我使用对齐规则配置我的设置,CKEditor 将无法识别它们:

CKEDITOR.toolbar = [
  [ 'Undo', 'Redo' ],
  [ 'Link', 'Unlink', 'Anchor' ],
  [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight' ], // <= not recognised
  [ 'Bold', 'Italic', 'Underline', 'Strike' ],
  [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote' ],
  '/',
  [ 'SpecialChar' ],
  [ 'Source', '-', 'RemoveFormat' ],
  [ 'About' ]
]

但是,一旦我在“extraPlugins”配置选项中启用“justify”:

CKEDITOR.extraPlugins = "divarea,justify"

上面提到的对齐选项被识别并且工作得很好(尽管,正如已经提到的,CKEDITOR 4 标准版预设没有实现那个插件)。

我知道有一个“stylecombo”插件,但默认情况下它是激活的,而且似乎无法自行识别对齐功能。

在我看来,“justify”插件不应该工作,抛出错误并忽略任何对齐配置。但事实并非如此...

另一方面,当我尝试包含“上标”和“下标”时

[ 'Bold', 'Italic', 'Underline', 'Strike', 'Superscript', 'Subscript' ],

应该由“basicstyles”插件支持,它们不被识别。这里我假设这些按钮会显示在编辑器中。

谁能帮我找出来,我在这里误解了什么? 谢谢!

JSDeliver 直接提供了npm 包,所以这种情况下基本得到NPM ckeditor4 package. And here, you are almost right on the standard preset, however in case of NPM ckeditor4 package it provides standard-all preset. And the difference is as README describes:

The CKEditor 4 npm package comes in the standard-all preset, so it includes all official CKEditor plugins, with those from the standard package active by default.

所以这意味着 Justify 插件包含在包中,但默认情况下未激活。要激活它,您只需要使用您提到的 extraPlugins 配置选项即可。

这样做主要是为了方便,因此激活更多插件就像更改编辑器配置一样简单,无需添加额外的包。