iview图片上传兼容ie10

iview图片上传不兼容ie10,因为在上传同一张图片的时候ie10上传不成功,下面是解决方法。

methods:{
        uploadSuccess:function(resp, file, fileList){
            window.filePic=file.response.data.pic;
            file.url=file.response.data.url;
            this.attIds.push(file.response.data.attId);
            this.$emit('input',this.attIds);
            //console.log(this.attIds);   ///att/download/b8abe3bb7e234646bb90b79d65c85a3f
            //兼容ie10操作
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  
            var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  
            var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  
            var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
            if(isIE) {
                var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
                reIE.test(userAgent);
                var fIEVersion = parseFloat(RegExp["$1"]);
                if(fIEVersion == 10) {
                    var ofiles = document.getElementsByClassName("ivu-upload-input");
                    var oinput,oparent,oform;
                    for(var i=0;i                         oinput = ofiles[i];
                        oparent = oinput.parentElement;
                        oform = document.createElement('form');
                        oform.appendChild(oinput);
                        oparent.appendChild(oform);
                        oform.reset();
                        //重置操作后
                        oparent.appendChild(oinput);
                        oparent.removeChild(oform);
                        
                    }
                }
            }                      
        },

在图片上传成功的函数中,我们先判断改浏览器是否是ie10,然后获取图片上传的class,ie10的问题在于删除一个图片后再上传当前图片上传不成功,所以我们只需要在reset()之后,重新追加iview里面的属性就可以了。

iview图片上传兼容ie10_第1张图片

 

你可能感兴趣的:(vue.js)