解决ueditor上传图片在IE中的兼容问题

来源:互联网 发布:淘宝装修页头图片素材 编辑:程序博客网 时间:2024/05/16 05:53
修正ueditor不兼容IE的单图片BUG

找到源码中 simpleupload 模块 ,搜索 initUploadBtn,修改其中的一段代码为如下所示

omUtils.on(input, 'change', function(){                function showErrorLoader(title){                    if(loadingId) {                        var loader = me.document.getElementById(loadingId);                        loader && domUtils.remove(loader);                        me.fireEvent('showmessage', {                            'id': loadingId,                            'content': title,                            'type': 'error',                            'timeout': 4000                        });                    }                }            function createXMLHttpRequest() {            if(window.XMLHttpRequest){            return new XMLHttpRequest();            } else {            var names=["msxml","msxml2","msxml3","Microsoft"];            for(var i=0;i<names.length;i++){            try{            var name=names[i]+".XMLHTTP";            return new ActiveXObject(name);            }catch(e){            }            }            }            return null;            }                        if(!input.value) return;                var loadingId = 'loading_' + (+new Date()).toString(36);                var params = utils.serializeParam(me.queryCommandValue('serverparam')) || '';                                var imageActionUrl = me.getActionUrl(me.getOpt('imageActionName'));                var allowFiles = me.getOpt('imageAllowFiles');                me.focus();                me.execCommand('inserthtml', '<img class="loadingclass" id="' + loadingId + '" src="' + me.options.themePath + me.options.theme +'/images/spacer.gif" title="' + (me.getLang('simpleupload.loading') || '') + '" >');                /* 判断后端配置是否没有加载成功 */                if (!me.getOpt('imageActionName')) {                    errorHandler(me.getLang('autoupload.errorLoadConfig'));                    return;                }                // 判断文件格式是否错误                var filename = input.value,                    fileext = filename ? filename.substr(filename.lastIndexOf('.')):'';                if (!fileext || (allowFiles && (allowFiles.join('') + '.').indexOf(fileext.toLowerCase() + '.') == -1)) {                    showErrorLoader(me.getLang('simpleupload.exceedTypeError'));                    return;                }                        var formData = new FormData();        var file=input.files[0];        formData.append(me.options.imageFieldName, file);                var xhr = createXMLHttpRequest();        xhr.open('POST', imageActionUrl + (imageActionUrl.indexOf('?') == -1 ? '?':'&') + params, true);        xhr.onreadystatechange = function(){                  //响应完成且响应正常              if (xhr.readyState == 4)              {                  if (xhr.status == 200)                  {                  json = (new Function("return " + xhr.responseText))();                            link = me.options.imageUrlPrefix + json.url;                            if(json.state == 'SUCCESS' && json.url) {                                loader = me.document.getElementById(loadingId);                                loader.setAttribute('src', link);                                loader.setAttribute('_src', link);                                loader.setAttribute('title', json.title || '');                                loader.setAttribute('alt', json.original || '');                                loader.removeAttribute('id');                                domUtils.removeClasses(loader, 'loadingclass');                            } else {                                showErrorLoader && showErrorLoader(json.state);                            }                                            }                  else                  {                                         showErrorLoader && showErrorLoader(me.getLang('simpleupload.loadError'));                }                  form.reset();            }                  };        xhr.send(formData);                                    });


原创粉丝点击