【问题标题】:CKEditor 4 - How to set default font?CKEditor 4 - 如何设置默认字体?
【发布时间】:2020-03-04 14:06:23
【问题描述】:

我使用 CKEditor 4,我想设置默认字体。我用我的字体选择添加了“font_defaultLabel”,但它不起作用......

我在互联网上找到了这个解决方案,但对我来说这是一个技巧,而不是真正的解决方案:

CKEDITOR.on( 'instanceReady', function( ev ) {
     ev.editor.setData('<span style="font-family:Arial, Verdana, sans-serif;">&shy;</span>');
});

有人可以帮我吗?

EpokK

【问题讨论】:

    标签: javascript ckeditor


    【解决方案1】:

    您可以使用 ckeditor 的数据处理器来修改(例如)您选择的字体大小、字体系列的段落,这将影响输入到 ckeditor 的任何段落,无论是在源代码中粘贴、写入还是更改;像这样:

    CKEDITOR.on('instanceReady', function( ev ) {
      ev.editor.dataProcessor.htmlFilter.addRules({
        elements: {
          p: function (e) { e.attributes.style = 'font-size:' + fontsizevariable + 'px; font-family:' + fontfamilyvariable + ';'; }
        }
      });
    });
    

    dataProcessor.dataFilter 也一样

    但如果您打算查看在您的环境之外创建的 html,这些规则可能会让它变得一团糟

    【讨论】:

    • 我只想启动可以通过字体工具栏运行的相同命令。
    • 啊啊啊,你救了我的命!电子邮件内容需要内联样式才能在任何地方正确呈现。很遗憾 ckeditor 不能很好地支持这个用例。非常感谢。
    【解决方案2】:

    CKeditor 使用默认的 css 文件作为其内容:contents.css 您可以在那里更改使用的字体。只要确保在没有 CKeditor 的情况下显示 CKeditor 内容时使用相同的 css(或仅使用字体)。

    【讨论】:

    • 是的,但是如果你的字体系列是一个变量,你怎么办?
    • 该变量从何而来,是每个用户的设置还是什么?那么您设置字体的解决方案可能是最好的解决方案;你会想用输入保存那个字体。
    • 很遗憾无法在 CKEditor 中正确配置字体。而当我认为这个对象不是免费的......最后这是另一个故事。
    • 我想在 99% 的情况下都不需要将默认字体设置为变量。 CKeditor 也可以免费使用:ckeditor.com/about/license,也许您是指 CKfinder 或他们的其他产品?
    • CKEditor 并非免费用于商业用途。我需要将 font-family 设置为编辑器的每个初始化。我将此对象用于网络邮件。
    【解决方案3】:

    只需将它放在您原来的 CKEDITOR JS 下方,然后将字体大小更改为您喜欢的任何值。这对我有用,希望对你有用!

    CKEDITOR.on( 'instanceReady', function( ev ) {
     ev.editor.setData('<span style="font-size:48px;">&shy;</span>');
    });
    

    【讨论】:

      猜你喜欢
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      相关资源
      最近更新 更多