0

我有一个 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 插件的可变配置参数?

4

1 回答 1

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;
});
于 2012-05-21T18:33:12.313 回答