java并发富文本编辑器多线程_百度编辑器 多图片批量上传 顺序混乱问题 ueditor...

我上一个版本用的是ueditor1.3.6,自从1.4.2版以后,“前端上传模块统一改用webuploader”,ueditor在多图上传一直考虑漏掉了图片顺序的问题。

我的网站在用户上传图片文章的时候,使用多图上传,点确认后,编辑框内的图片顺序是乱的。

看webuploader的问题在于多线程上传,ueditor对“uploadSuccess”的处理是上传成功一张,就加入到数组中,这样如果图片上传完成顺序是乱的,最终加入文本框的顺序也乱了。

我这里修改了一下js,供大家参考,希望ueditor能改进这个问题:

vim dialogs/image/image.js

716 uploader.on('uploadSuccess', function (file, ret) {

717 var $file = $('#' + file.id);

718 try {

719 var responseText = (ret._raw || ret),

720 json = utils.str2json(responseText);

721 if (json.state == 'SUCCESS') {

722 _this.imageList[$file.index()] = json; // 修改这里:按选择好的文件列表顺序存储

723 $file.append('');

724 } else {

725 $file.find('.error').text(json.state).show();

726 }

727 } catch (e) {

728 $file.find('.error').text(lang.errorServerUpload).show();

729 }

730 });

针对dialogs/image/image.js,如果按照上面的方式修改了ln:722行,接下来ln:769行左右的getInsertList函数也要同步修改一下。避免出现这类情况:arr = [];arr[0]=obj0;arr[2]=obj2;然后去尝试读取arr[1]的属性。

getInsertList: function () {var i, data, list = [],align = getAlign(),prefix = editor.getOpt('imageUrlPrefix');for (i = 0; i < this.imageList.length; i++) {data = this.imageList[i];if(data == undefined){//源自于对line:(722或721)的修改,避免部分图片上传失败,或者选择的图片不符合规范不能参与上传而造成imageList数组中出现的undefined项continue;}list.push({src: prefix + data.url,_src: prefix + data.url,title: data.title,alt: data.original,floatStyle: align});}return list;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值