CKEditor v4:自制插件中对话框的动态标题

CKEditor v4 : Dynamic title of dialog in homemade plugin

本文关键字:对话框 动态 标题 插件 v4 CKEditor      更新时间:2023-09-26

我使用的是CKEditor v4,我自制了一个插件(tu上传图像和编辑信息)。2个选项卡(上传和编辑信息)工作良好,但我想设置对话框的标题使用条件(新图像或编辑现有图像)。当我调用CKEDITOR.dialog.add或更改onShow事件或其他问题的标题时,是否有方法为对话框功能提供参数?

非常感谢你的帮助,也为我疯狂的英语感到抱歉!

我遇到了同样的问题,找不到"官方"方法,但我可以使用以下变通方法动态更改标题(this是CKEDITOR.dialog元素):

this.getElement().getFirst().find('.cke_dialog_title').getItem(0).setText('[insert new title here]')

基本上,您通过对话框元素(getElement().getFirst())的实际DOM,检索title DOM元素(find('.cke_dialog_title').getItem(0)),并在那里设置文本。这完全依赖于CKEditor的CSS类名,所以不是很稳定,但这只是一个开始。

$(dialog.parts.title.$).text(someTitleText)

简而言之:

CKEDITOR.dialog.add('dynamictitle', function (editor) {
    ...
    ...
    return {
        title: "initial title here",
        ...
        ...
        //  set title onLoad(),or onShow()
        onLoad: function () {
            var currentTitle = editor.config.dynamictitle;
            var dialog = CKEDITOR.dialog.getCurrent();
            $(dialog.parts.title.$).text(currentTitle)
        }
    }
});
...
in your page:
CKEDITOR.replace('<ckeditorelementid>', {
        .....
        .....
        dynamictitle: <title text value>,
        .....
        .....
        });