在CKEditor的示例中,“字体名称”和“字体大小”下拉菜单具有一个(默认)项,该选项使用户可以将“字体名称和大小”更改回默认设置。
在这两个下拉菜单中选择默认项时,当我们检查内容的来源时,为指定字体名称和大小而创建的跨度已删除。
来源:https://ckeditor.com/latest/samples/index.html
但是,当我通过Google搜索如何设置此配置时,通常的答案是设置默认标签,这无法达到示例中显示的效果。
请问如何设置配置以达到示例所示的相同效果?
非常感谢。
答案 0 :(得分:0)
我不确定这是否正是您的意思,但是如果您要问如何通过JavaScript设置默认字体,那么答案是您不能这样做。对于经典编辑器,只能在ckeditor/contents.css
(寻找body
元素定义)中设置默认字体,对于嵌入式编辑器,则只能在主页CSS文件中设置默认字体。
如果您将CSS内的默认字体设置为Times New Roman
,则还可以将默认字体标签设置为相同的值,以便在当前选择中没有匹配的字体时显示默认字体。请参阅:
https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-font_defaultLabel
https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-font_names
可以对字体大小进行相同的操作
https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fontSize_defaultLabel
https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fontSize_sizes
请注意,字体下拉列表不是完全与上下文相关的,这意味着只有存在完全匹配时,它们才会显示给定的字体名称或大小。如果CKEditor设置例如如果您在HTML中设置了<span style="font-family:Courier New,Courier,monospace">test</span>
作为Courier New
值为span
的元素,而Courier New,Courier,monospace
字体下拉列表将仅显示名称font-family
。在所有其他情况下,将显示“默认”标签或默认字体名称(如果已设置font_defaultLabel)。当您粘贴下拉列表定义中未定义的字体时(例如,来自MS Word),这当然会导致问题。在这种情况下,编辑器将显示无效值,因为它将使用默认标签或默认字体名称。
可以借助高级内容过滤器(ACF)和addTransformations方法来解决问题。我已经简要here对其进行了解释。
希望这会有所帮助。