2

我有一个需要内联 CKEditor 但没有工具栏的应用程序。对于内联 CKEditor 部分,我有:

CKEDITOR.disableAutoInline = true;
var editor = CKEDITOR.inline('editable', {on: {
    instanceReady: function() {periodic();}
}});

var periodic = (function() {
    var data, oldData;
    return function() {
        if ((data = editor.getData()) !== oldData) {
            oldData = data;
            $.post("update.php", {txt:data});
        }
        setTimeout(periodic, 1000);
    };
})();

然后对于工具栏隐藏部分,我发现了这个:CKEditor 4 Inline:如何按需隐藏工具栏?

//Whenever CKEditor loses focus, We will hide the corresponding toolbar DIV.
function hideToolBarDiv(event) {
   // Select the correct toolbar DIV and hide it.
   //'event.editor.name' returns the name of the DIV receiving focus.
   $('#'+event.editor.name+'TBdiv').hide();
}

问题是我不知道如何将这两者结合在一起:) 我很感激任何提示。谢谢你。

4

2 回答 2

4

我找到了另一个似乎可以解决我的问题的链接:我可以在没有工具栏的情况下使用 CKEditor 吗? 该脚本似乎工作正常,但我仍然不确定它是否是正确的方法:

CKEDITOR.disableAutoInline = true;
var editor = CKEDITOR.inline('editable', {
    removePlugins: 'toolbar',
    allowedContent: 'p h1 h2 strong em; a[!href]; img[!src,width,height]'
    on: {instanceReady: function() {periodic();}}
});

var periodic = (function() {
    var data, oldData;
    return function() {
        if ((data = editor.getData()) !== oldData) {
            oldData = data;
            $.post("update.php", {txt:data});
        }
        setTimeout(periodic, 1000);
    };
})();
于 2013-05-30T02:20:57.993 回答
0

在我看来,我通过两种方式做到了:

1)使用该removePlugins选项,只需删除工具栏:

CKEDITOR.inline( 'textarea', {
    removePlugins: 'toolbar'
} );

在这里,您还可以使用allowedContent允许 ACF 的内容

CKEDITOR.inline( 'editable', {
    removePlugins: 'toolbar',
    allowedContent: 'p h1 h2 strong em; a[!href]; img[!src,width,height];'
} );

2)使用 CSS - 不是标准方法:(有点棘手)

只需将 css 制作到display:none工具栏上,例如

.cke_inner {
    display: none;
}

希望它会帮助某人。

于 2019-08-20T19:11:24.327 回答