如何在CKEDITOR.inline之后使用CKEDITOR.replace

时间:2014-10-17 16:45:12

标签: ckeditor

我在内联模式下使用CKEDITOR,每页有多个编辑器。要创建它们,我在HTML中使用<textarea>标记,然后在加载网页后立即运行对每个标记执行CKEDITOR.inline()的脚本。

只要我在&#34; config.js&#34;中定义我的最终配置,它就能正常工作,但我需要动态更新其中一个配置选项。

这是我的脚本,在加载页面后使用JQuery循环遍历<textarea>元素。作为诊断,我将CKEDITOR.replace()夹在alert语句之间。此代码用编辑器替换第一个<textarea>并显示第一个alert语句。但是,它会在CKEDITOR.replace()语句中退出,并且永远不会显示第二个alert

$(function () {
    $("textarea").each(function () {
        editor = CKEDITOR.inline($(this)[0]);
        alert("Before replace, editor=" + editor);
        CKEDITOR.replace(editor, {
            filebrowserImageUploadUrl: "/new/url/to/be/executed"
        });
        alert("After replace");
    })
});

第二个alert不仅不会执行,而且我尝试更新的配置选项仍然保留在&#34; config.js&#34;中。

我想我需要指定&#34;编辑器&#34;以外的其他内容。作为CKEDITOR.replace()声明的第一个参数,但我不知道是什么。

1 个答案:

答案 0 :(得分:4)

经过更多研究,我发现我可以在CKEDITOR.inline方法调用中设置配置选项。这是脚本的工作版本:

$(function () {
    $("textarea").each(function () {
        CKEDITOR.inline($(this)[0], {
            filebrowserImageUploadUrl: "/new/url/to/be/executed"
        });
    });
});