IE7+ 浏览器兼容预览本地图片
css
#preview_fake {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
overflow: hidden;
}
html
<div class="row">
<div id="preview_fake"></div>
<input type="file" name="uploadFile" onchange="previewImage(this)" />
</div>
js
//图片上传预览 IE是用了滤镜
function previewImage(file)
{
var self = $(file); //判断图片格式
if(!/\.(jpg|jpeg|png|JPG|PNG)$/.test(self.val())) {
imgErr(self,"请上传JPG或PNG格式的图片");
return false;
}
var objPreviewFake = document.getElementById('preview_fake');
if (file.files && file.files[0])
{ //ie10以上火狐谷歌支持
var fileData = file.files[0];
var size = fileData.size;
var reader = new FileReader(); //判断图片文件大小不能大于2M
if(size>0) {
if (size > 2000 * 1024) {
imgErr(self,"上传文件大小不可以超过2M");
return false;
}
}
var reader = new FileReader();
reader.readAsDataURL(file.files[0]);
reader.onload = function(evt){
$('<img onclick="openBig(this)" src="' + this.result +'" class="imghead qsc_img_circle">').appendTo(div);
//修改上传按钮文字
self.next().find(".qsc_img_btn").text("重新上传");
//初始化图片收缩放大
$(".imghead").zoomify();
};
var img = self.prev(".qsc_img").find('imghead'); } else if ( objPreviewFake.filters ) //兼容IE,滤镜
{
// IE7,IE8 在设置本地图片地址为 img.src 时出现莫名其妙的后果
//(相同环境有时能显示,有时不显示),因此只能用滤镜来解决
// IE7, IE8因安全性问题已无法直接通过 input[file].value 获取完整的文件路径
file.select();
var imgSrc = document.selection.createRange().text;
$("#preview_fake").css({"width":"50px","height":"50px","margin-right":"140px"});
objPreviewFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc; }
}
IE7+ 浏览器兼容预览本地图片的更多相关文章
- vue预览本地图片
<template> <div> <a href="javascript:void(0);" @change="addImage" ...
- 预览本地图片原生js
<!-- 样似总结: 用a标签代替file,做文件上传. 将file进行绝对定位,透明度设置为0:宽度为“上传图片”的宽度,超出部分隐藏. 这样做是为了将file隐藏起来.用a标签代替file ...
- javascript预览本地图片
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jquery预览本地图片
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- 基于HTML5的可预览多图片Ajax上传
一.关于图片上传什么什么的 在XHTML的时代,我们使用HTML file控件上传图片一次只能上传一张.要一次上传多图,做法是借助于flash.例如swfupload.js.可惜,使用复杂的点,比如f ...
- es5预览本地文件、es6练习代码演示案例
es6简单基础: <!DOCTYPE html> <html> <head> <meta name="viewport" content= ...
- HTML5可预览多图片ajax上传(使用formData传递数据)
HTML5可预览多图片ajax上传(使用formData传递数据) 在介绍上传图片之前,我们简单的来了解下FormData的基本使用:介绍完成后这些基本知识后,我们会在文章最后提供一个demo,就是a ...
- input type=file实现图片上传,预览以及图片删除
背景 前两天在做一个PC网站的意见反馈,其中涉及到了图片上传功能,要求可以上传多张图片,并且支持图片上传预览及图片删除, 图片上传这一块以前没怎么搞过,而且一般也很少会碰到这样的需求,所以在做这个功能 ...
- 移动端 H5 拍照 从手机选择图片,移动端预览,图片压缩,图片预览,再上传服务器
前言:最近公司的项目在做全网营销,要做非微信浏览器的wap 站 的改版,其中涉及到的一点技术就是采用H5 选择手机相册中的图片,或者拍照,再将获取的图片进行压缩之后上传. 这个功能模块主要有这5点比较 ...
随机推荐
- SDUT 2107 图的深度遍历
图的深度遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 请定一个无向图,顶点编号从0到 ...
- Batch Normalization 与Dropout 的冲突
BN或Dropout单独使用能加速训练速度并且避免过拟合 但是倘若一起使用,会产生负面效果. BN在某些情况下会削弱Dropout的效果 对此,BN与Dropout最好不要一起用,若一定要一起用,有2 ...
- 【java】小技巧和注意事项
1.字符串反向比较 “abc”.equals(sting) 2.文档注释 /** *注释内容 */ 3.
- Arcgis android10.2测试版中android.view.InflateException
最近2天总是有时出现 下面这个错误 android.view.InflateException: Binary XML file line #15: Error inflating class co ...
- FPM包定制完成 (等待实现 里程碑 1 和 2) 2018年4月13日 2:18:32
前期环境准备: 关闭SELINUX : setenforce 0 关闭SELINUX : sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' / ...
- D3.js 之 d3-shap 简介(转)
[转] D3.js 之 d3-shap 简介 译者注 原文: 来自 D3.js 作者 Mike Bostock 的 Introducing d3-shape 译者: ssthouse 联系译者: 邮箱 ...
- [Windows] 程序生成出现语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”
程序生成出现语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符” 将平台工具集改为VS 2015 (v140) ,重新编译即可
- 自定义非等高 Cell
1.自定义非等高 Cell介绍 1.1 代码自定义(frame) 新建一个继承自 UITableViewCell 的类. 重写 initWithStyle:reuseIdentifier: 方法. 添 ...
- leftjoin及多个leftjoin执行顺序
给个通俗的解释吧.例表aaid adate1 a12 a23 a3表bbid bdate1 b12 b24 b4两个表a,b相连接,要取出id相同的字段select * from a inner jo ...
- SP34096 DIVCNTK - Counting Divisors (general)(Min_25筛)
题面 洛谷 \(\sigma_0(i)\) 表示\(i\) 的约数个数 求\(S_k(n)=\sum_{i=1}^n\sigma_0(i^k)\mod 2^{64}\) 多测,\(T\le10^4,n ...