在IE 10以下无法(有时可以有时不可以)预览本地所上传的图片

在IE 10以下无法(有时可以有时不可以)预览本地所上传的图片

IE下iframe中使用滤镜document.selection.createRange().text获取不到值得解决办法


最近公司项目上线,客户反馈:在IE 10以下无法(有时可以有时不可以)本地预览所上传的图片

判断是否为IE 的方法

  //判断是否是IE浏览器,包括Edge浏览器
    function IEVersion() {

        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
        var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器
        if (isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
           return fIEVersion;
        }
//        else if (isEdge) {
//            return "Edge";
//        }
        else {
            return 100;//非IE
        }
    }

获取删除文件的路径

  if (IEVersion()<10) {//IE10以下
            file.select();
            //file.blur();//客货反馈的问题出在这,将window.parent.document.body.focus();替换即可
            //一般使用这一行
            window.parent.document.body.focus();
            var reallocalpath = document.selection.createRange().text;
            $(".modalBox").css("display", "block");
            //采用IE滤镜
            document.getElementById("modalimg").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src=\"" + reallocalpath + "\")";
            } else {
                var reader = new FileReader();
                reader.readAsDataURL(fil[0]);
                reader.onload = function () {
                   document.getElementById("modalimg").src = reader.result;
                }
            }

猜你喜欢

转载自blog.csdn.net/xiaozhenzi66/article/details/81116347
IE