我在内联模式下使用 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()语句的第一个参数,但我不知道是什么。
经过更多研究,我发现我可以在CKEDITOR.inline方法调用中设置配置选项。这是该脚本的工作版本:
$(function () {
$("textarea").each(function () {
CKEDITOR.inline($(this)[0], {
filebrowserImageUploadUrl: "/new/url/to/be/executed"
});
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1858 次 |
| 最近记录: |