[英]How do I add custom functionality to my CKEditor plugin?
我创建了CKEditor插件,其中包含一些标签,并且每个标签上都有一个不同的iframe。 在这些iframe中,表中包含网站上某些内容的标题。 我希望能够单击表格行,并使其插入被单击项的标题。
问题是我不知道如何将这种自定义javascript添加到插件中。 我有plugin.js,它添加了用于添加按钮的init函数,该函数在单击时执行命令以添加对话框窗口。 然后在myDialog.js中,我将对话框窗口定义为:
CKEDITOR.dialog.add( 'addLinkDialog', function( editor ) {
return {
title: 'Links',
minWidth: 800,
minHeight: 600,
contents: [
{
id : 'articlesTab',
label : Drupal.t('Articles'),
title : Drupal.t('Articles'),
elements : [
/* {
id : 'articlenid',
type : 'text',
label : Drupal.t('Article Node ID')
}, */
{
type : 'html',
html : '<iframe src="/links/articles?link=1" style="width:900px; height:600px;"></iframe>',
}
]
},
{
id : 'menuTab',
label : Drupal.t('Menu Items'),
title : Drupal.t('Menu Items'),
elements : [
{
type : 'html',
html : '<div>MENU TEST</div>',
}
]
},
{
id : 'videosTab',
label : Drupal.t('Videos'),
title : Drupal.t('Videos'),
elements : [
{
type : 'html',
html : '<div>VIDEOS TEST</div>',
}
]
}
],
onOk: function() {
var editor = this.getParentEditor();
// var content = this.getValueOf( 'articlesTab', 'articlenid' );
// alert(content);
}
};
});
我知道当我单击对话框窗口上的按钮时,我的onOk可以工作,但是我不确定如何从iframe中获取信息,以及类似的功能应该放在哪里(在我的plugin.js或myDialog.js中? )。
我最终不得不制作另一个js文件,并将其包含在iframe页面上,然后在jquery中将parent.document选择器与.find结合使用,以操纵iframe之外的dom元素。
$(".videoUrlInput", parent.document).find('input.cke_dialog_ui_input_text').val(assetUrl);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.