jQuery插件imgPreviewQs实现上传图片预览

时间:2021-05-26

上传图片预览,支持IE6、IE7、IE8、IE9、IE10、IE11。 火狐、Chrome 具体没有测试,但是高版本都支持。

imgPreviewQs.js

(function($){$.fn.imgPreviewQs = function(options){ function isIE(ver){ var b = document.createElement('b') b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->' return b.getElementsByTagName('i').length === 1; } options = $.extend( {}, $.fn.imgPreviewQs.defaults,options); var $this =$(this); $this.change(function(){ var regex=/(.*)\.(jpg|jpeg|gif|bmp|png)$/; var val = $this.val(); if(!regex.test(val)){ alert("请选择图片"); return false; } if(browserQs.isIE(8)){ HanderIE789($this); } else if(window.FileReader){ HanderFileReader($this); } else if(browserQs.isIE(9)){ HanderIE789($this); } else if(browserQs.isIE(6)){ HanderOther($this); } else if(browserQs.isIE(7)){ HanderIE789($this); } else{ $("#"+options.destID).html("浏览器不支持预览图片"); } }); function HanderFileReader($this){ var oPreviewImg = null, oFReader = new window.FileReader(), rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i; oFReader.onload = function (oFREvent) { $("#"+options.destID).html("<img src='"+oFREvent.target.result+"' style='width:100%;height:100%;'/>"); }; var aFiles = $this.get(0).files; if (aFiles.length === 0) { return; } if (!rFilter.test(aFiles[0].type)) { alert("请选择图片"); return; } oFReader.readAsDataURL(aFiles[0]); } function HanderIE789($this){ $("#"+options.destID).css("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src='"+getUrl($this)+"')"); } function HanderOther($this){ $("#"+options.destID).html("<img src='"+$this.val()+"' style='width:100%;height:100%;'/>"); } function getUrl($this){ $this.select(); $this.blur(); var imgSrc =document.selection.createRange().text; document.selection.empty(); return imgSrc; }}; $.fn.imgPreviewQs.defaults = { destID:""};})(jQuery);

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章