码迷,mamicode.com
首页 > Web开发 > 详细

百度编辑器 多图片批量上传 顺序混乱问题 ueditor

时间:2015-09-11 16:09:49      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:

我上一个版本用的是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;
}

百度编辑器 多图片批量上传 顺序混乱问题 ueditor

标签:

原文地址:http://my.oschina.net/u/554046/blog/505000

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!