ckeditor - 如何管理配置更改

时间:2012-05-18 19:24:29

标签: javascript ckeditor

我有一个ckeditor插件,它依赖于一些自定义参数。这些参数可以在操作过程中改变值。我最终实现这个的方法是将当前值保存在插件中的局部变量中,该变量在开始时初始化并且可以通过自定义命令进行更改。像这样

var somethingId = editor.config.myplugin_Something;
editor.addCommand('changeSomething',  {
    exec: function(_editor, data) {
        somethingId = data.something;
    }
});

这样可行,但是我遇到了一个问题(从我可以看出)我到达了需要更改数据的情境,但编辑器还没有初始化,所以调用

$.each(CKEDITOR.instances, function (index, editor) {
    editor.execCommand('changeSomething', {
        something: newValue
        });
});

没有任何效果,插件最终会得到初始配置中传递的值。

我不能想到使用全局变量的好方法。有没有更好的方法来管理ckeditor插件的可变配置参数?

1 个答案:

答案 0 :(得分:0)

我提出了一个很简单的解决方案。使用config对象本身,并确保初始化回调也设置正确的值。

所以初始化看起来更像是:

var config = { width: xxx, height: xxx}; // do not include "something" value
$('#mytextbox').ckeditor(function(){
    this.config.myplugin_somethingId = currentSomethingValue;
});

当我需要稍后修改时,

$.each(CKEDITOR.instances, function (index, editor) {
     editor.config.myplugin_somethingId = newSomethingValue;
});