ueditor调用其中的附件上传功能

时间:2023-12-23 10:13:32

ueditor实际上是集成了webuploader, 在做内容发布的时候想既有ueditor又有单独的附件上传按钮,这时再加载一个webuploader就显得过于臃肿了,单独利用ueditor的上传功能就比较合适了

首先是显示附件上传dialog,两种方式

ue.ui._dialogs["attachment" + "Dialog"](推荐);

dialog = parent.$EDITORUI[window.frameElement.id.replace( /_iframe$/, '' )];

再就是替换dialog的onok函数了,原先的onok会执行editor.execCommand('insertfile', list);//dialog/attachment/attatchment.js

我们重新写一个onok函数替换掉原来的onok就可以了,只是简单去掉editor.execCommand('insertfile', list);并且拿到file list 做自己的处理就可以了。

//in dialog.js

//在这里面结合dialog自身的id 给你新生成的iframe也赋值一个id 以_iframe作为后缀

contentHtml = '<span id="'+ this.id +'_contmask" class="dialogcontmask"></span><iframe id="'+ this.id +
'_iframe" class="%%-iframe" height="100%" width="100%" frameborder="0" src="'+ this.iframeUrl +'"></iframe>';

//下面是生成id的地方

UIBase.prototype = {
className:'',
uiName:'',
initOptions:function (options) {
var me = this;
for (var k in options) {
me[k] = options[k];
}
this.id = this.id || 'edui' + uiUtils.uid();
},

utils.inherits(Dialog, UIBase);通过这个赋予dialog uibase的一些属性