jQuery插件imgPreviewQs实现上传图片预览
作者:bea
上传图片预览,支持IE6、IE7、IE8、IE9、IE10、IE11。 火狐、Chrome 具体没有测试,但是高版本都支持。 imgPreviewQs.js /*! 依赖 jQuery 1.5.2 (c) 2016 license: http://www.opensource.org/licenses/mit-license.php*/(function($){$.fn.imgPreviewQs = function(options){ function is
上传图片预览,支持IE6、IE7、IE8、IE9、IE10、IE11。 火狐、Chrome 具体没有测试,但是高版本都支持。
imgPreviewQs.js
/*!
依赖 jQuery 1.5.2
(c) 2016
license: http://www.opensource.org/licenses/mit-license.php
*/
(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);
有用 | 无用
imgPreviewQs.js
/*!
依赖 jQuery 1.5.2
(c) 2016
license: http://www.opensource.org/licenses/mit-license.php
*/
(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);
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery添加删除DOM元素方法详解
- AngularJS仿苹果滑屏删除控件
- jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
- jquery.validate 自定义验证方法及validate相关参数
- 实例详解jQuery表单验证插件validate
- 基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
- jQuery插件Validate实现自定义校验结果样式
- jQuery插件实现带圆点的焦点图片轮播切换
- 轻松实现js图片预览功能
- jQuery插件Validate实现自定义表单验证
- Jquery和angularjs获取check框选中的值的方法汇总
- NodeJS实现阿里大鱼短信通知发送
- node.js+express制作网页计算器
- JQuery实现网页右侧随动广告特效
- Validform+layer实现漂亮的表单验证特效
- javascript实现倒计时跳转页面
- jQuery实现图片走马灯效果的原理分析
- JavaScript时间操作之年月日星期级联操作
- input点击后placeholder中的提示消息消失