Javascript CKEditor对话框,在对话框弹出前钩住火
我有一个对话框,其内容通过解析当前页面的DOM来填充。我试过两种方法,但都不完全正确: CKEDITOR.on'dialogDefinition',…:此方法在第一次打开对话框时有效,但后续打开使用缓存的对话框定义,因此对DOM的任何更改都不会显示在对话框内容中 对话。在“显示”上,…:每次显示对话框时都会触发此方法,但它似乎是在计算了对话框的内容之后触发的 所以我的问题是:是否有一个钩子或其他方法,我可以使用它在每次打开对话框时填充内容?谢谢 编辑 这是一个基本的例子,我现在有什么,这不起作用-没有嵌入消息显示在对话框中Javascript CKEditor对话框,在对话框弹出前钩住火,javascript,ckeditor,Javascript,Ckeditor,我有一个对话框,其内容通过解析当前页面的DOM来填充。我试过两种方法,但都不完全正确: CKEDITOR.on'dialogDefinition',…:此方法在第一次打开对话框时有效,但后续打开使用缓存的对话框定义,因此对DOM的任何更改都不会显示在对话框内容中 对话。在“显示”上,…:每次显示对话框时都会触发此方法,但它似乎是在计算了对话框的内容之后触发的 所以我的问题是:是否有一个钩子或其他方法,我可以使用它在每次打开对话框时填充内容?谢谢 编辑 这是一个基本的例子,我现在有什么,这不起作用
CKEDITOR.plugins.add('embeds', {
init: function(editor) {
editor.on('dialogShow', function(event) {
var dialog = event.data,
dialogDefinition = dialog.definition;
if(dialog.getName() != "EmbedsDialog") return;
var main = dialogDefinition.getContents('main');
main.add({
type : 'html',
html : "<strong>There are no embeds yet! Add them below.</strong>"
});
});
CKEDITOR.dialog.add('EmbedsDialog', function (instance) {
return {
title : 'Embeds',
minWidth : 550,
minHeight : 200,
contents: [{
id: "main",
elements: []
}],
}; // return
});
editor.addCommand('Embeds',
new CKEDITOR.dialogCommand('EmbedsDialog', {
allowedContent: 'a[*](*)'
})
);
editor.ui.addButton('Embeds', {
label : 'Embeds',
command : 'Embeds',
toolbar : 'embeds'
});
} // init
}); // add
使用事件查看:,@oleq查看我的编辑。行为与我尝试对话时相同。在“显示”中。。。