window.opener.CKEDITOR.tools.callFunction( funcNum, fileUrl, function() { // 获得对话窗口的引用 var element, dialog = this.getDialog(); //检查是否为Image对话窗口 if ( dialog.getName() == 'image' ) { // 获得具有"alt"属性的文本域的引用 element = dialog.getContentElement( 'info', 'txtAlt' ); // 赋新值 if ( element ) element.setValue( 'alt text' ); } ... // 返回false,停止进一步执行- - 在这种情况下,CKEditor将忽略第二个参数 (fileUrl) // 和赋给调用文件浏览器按钮的onSelect函数 (如果定义了). [return false;] });
CKEditor4配置与开发详细中文说明文档(18)
将文件浏览器添加到对话框中
CKEditor可以很容易地与你自己的文件浏览器集成。
要连接与CKEditor兼容的文件浏览器(如 CKFinder),遵循 File Browser (Uploader)文档。
对话框
请参考 Dialog definition API,获得如何生成一个对话框的一般帮助。
Filebrowser 插件
filebrowser插件内置于CKEditor中。它的唯一目的是在CKEditor中提供一个API,可以集成任意外部文件浏览器,并为各种CKEditor组件(通常为对话框)增加文件浏览功能。
添加"Browse Server"按钮
要将文件浏览器插件添加到一个对话框中的元素,设置"filebrowser"属性。在image插件的例子中,有:
{ type: 'button', hidden: true, id: 'browse', filebrowser: ' Link:txtUrl', label: editor.lang.common.browseServer, style: 'float:right', },
此按钮默认是隐藏的 (hidden:true)。
文件浏览器插件查找具有filebrowser属性的所有元素,并且如果有可用的相应的配置设置(filebrowserBrowseUrl/filebrowserUploadUrl),就不再隐藏它们。
插件所执行的操作取决于元素的类型,对于fileButton,操作为QuickUpload,对于其它元素,默认的操作是Browse。在上面的例子中,当点击按钮时,将会启动文件浏览器(在弹出窗口中)。
'Link:txtUrl' 值告诉插件当调用CKEDITOR.tools.callFunction( funcNum )时,更新Link标签中id为txtUrl的元素。
添加 "Quick Upload"支持
再次看看如何在我们的对话框中处理文件上传,我们将使用来自CKEditor的工作示例。在image插件中,有一个Upload标签定义:
{ id: 'Upload', hidden: true, filebrowser: 'uploadButton', label: editor.lang.image.upload, elements: [ { type: 'file', id: 'upload', label: editor.lang.image.btnUpload, style: 'height:40px', size: 38 }, { type: 'fileButton', id: 'uploadButton', filebrowser: 'info:txtUrl', label: editor.lang.image.btnUpload, 'for': [ 'Upload', 'upload' ] } ] },
内容版权声明:除非注明,否则皆为本站原创文章。