百度编辑器 多图片批量上传 顺序混乱问题 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;
}

转载于:https://my.oschina.net/u/554046/blog/505000

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值