有没有办法在CKEditor中设置默认字体和字体大小?

我一直在寻找一个解决方案,我发现的唯一修复只会影响文本在编辑器本身的显示方式,而不会影响生成的文本在其他地方发送/保存时的外观.我正在谈论CSS修复和类似的东西.

我正在使用CKEditor通过我们的Web应用程序编写和发送电子邮件,当css修复更改编辑器本身显示的字体时,收到的电子邮件仍然显示在TNR或从电子邮件客户端继承的任何内容.当然,除非我为每个段落更改插件的字体和大小.

从我注意到,无论何时从插件中设置字体和大小,CKEditor都会创建一个跨度(实际上是两个,一个带有字体,一个带有大小)和新更改的样式(例如< span style =“font:Arial”>< span style =“font-size:12”>< / span>< / span>)我想我可以将整个结果包装在一个span或div中所需的字体和大小样式,但这可能会干扰用户的模板和样式.

有没有办法从插件本身设置默认文本样式(如电子邮件的收件人所见),或者我必须提出它的黑客攻击.

最佳答案
这是我发现迫使ck编辑器创建默认字体的唯一方法.即使没有选择任何字体,它也会将输入的文本包装在(默认)字体范围内,因此会输出格式化的文本.如果您希望更改是通用的,请将以下内容添加到config.js.否则,应该可以将它添加到一个实例中.虽然我没有尝试过.

config.font_defaultLabel = 'Arial';

这将使下拉默认为’Arial’.虽然这甚至没有按照我希望的方式运作.首先,必须激活(不仅仅是加载)编辑器以将下拉列表设置为默认值.然后,与手动选择不同,该值不会在下拉框中突出显示.它只是显示.

然后在默认配置选项下面添加:

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

这将使用您需要的范围预填充文本区域.但是,您必须在span标记中包含一些字符以强制此“hack”工作.所以你会在你的输出中遇到一些你真的不想要的东西.我在网上的某个地方找到的原始版本:

&shy;

这似乎相对无害.

我已经寻找并寻找更好的方式(如果有人知道的话,我会很高兴).大多数人只是说捕获输出并重新格式化.这真的不适合我.也可以使用自定义插件来完成此操作.这对我来说也不是真的可行.

希望这可以帮助别人至少节省一些时间.

附:原版来自CK编辑的支持委员会.这是链接:forum

转载注明原文:有没有办法在CKEditor中设置默认字体和字体大小? - 代码日志