我创建了一些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?)。
答案 0 :(得分:0)
我最终必须创建另一个js文件并将其包含在iframe页面中,然后使用jquery中的.find的parent.document选择器来操作iframe之外的dom元素。
$(".videoUrlInput", parent.document).find('input.cke_dialog_ui_input_text').val(assetUrl);