在RTF控件中设置默认字体/文本大小

时间:2013-08-09 22:14:44

标签: ckeditor xpages xpinc

我找到了这个答案Default font for Rich Text field,但它对我没有帮助。我需要能够在应用程序中设置它,因为这是一个XPiNC(Notes客户端中的Xpages,用于那些在CKEditor论坛中阅读此内容的应用程序)应用程序,我无法控制除IBM Notes 8.5.3FP4之外的系统上的内容。因为config.js是CKEditor的服务器端,所以我需要在代码或css中以某种方式执行此操作。

这甚至可能吗?

2 个答案:

答案 0 :(得分:2)

将以下脚本块添加到XPage。它将在CKEditor字段中设置初始字体和文本大小。

<xp:scriptBlock
    id="scriptBlock1">
    <xp:this.value>
        <![CDATA[XSP.addOnLoad(function() {
                    try{
                        CKEDITOR.on( 'instanceReady', function( ev ) {
                            if (ev.editor.getData() === "") {
                                ev.editor.setData('<span style="font-family: Comic Sans MS, cursive; font-size:36px;">&shy;</span>');
                            }
                        });
                    }catch(e){
                        console.log(e);
                    }
    })]]></xp:this.value>
</xp:scriptBlock>

诀窍是当字段为空时将初始值设置为带有样式的字段。

(很遗憾,所有设置config.font_defaultLabelconfig.fontSize_defaultLabel 的尝试都不会像

那样工作:

CKEDITOR.editorConfig = function( config ) {
        config.font_defaultLabel = 'Comic Sans MS, cursive';
        config.fontSize_defaultLabel = '36px';
};

答案 1 :(得分:1)

Knut的解决方案很有效,除非您必须使用&#8203;而不是&shy;,因为在点击字段并开始输入时会丢失字体样式。