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

Lin*_*say 2 ckeditor

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

只要我在“config.js”中定义最终配置,就可以正常工作,但我需要动态更新配置选项之一。

<textarea>这是我的脚本,在页面加载后使用 JQuery 循环遍历元素。作为诊断,我将语句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");
    })
});
Run Code Online (Sandbox Code Playgroud)

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

我认为我需要指定“editor”以外的其他内容作为该CKEDITOR.replace()语句的第一个参数,但我不知道是什么。

Lin*_*say 5

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

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