html代码

<div id="divPreview">
     <img id="imgHeadPhoto" src="Images/Headphoto/noperson.jpg" style="width: 160px; height: 170px;border: solid 1px #d2e2e2;" alt="" />
</div>
<asp:FileUpload ID="fuHeadPhoto" runat="server" οnchange="PreviewImage(this,'imgHeadPhoto','divPreview')" size="20" />

将网上的js本地图片预览整合了一下,希望对大家有用,如有其他浏览器不兼容且有解决办法,请给我留言,我将及时更新本文代码。

javascript代码

//js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3、360浏览器
function PreviewImage(fileObj,imgPreviewId,divPreviewId){var allowExtention=".jpg,.bmp,.gif,.png";//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value;var extention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase();            var browserVersion= window.navigator.userAgent.toUpperCase();if(allowExtention.indexOf(extention)>-1){ if(fileObj.files){//兼容chrome、火狐7+、360浏览器5.5+等,应该也兼容ie10,HTML5实现预览if(window.FileReader){var reader = new FileReader(); reader.onload = function(e){document.getElementById(imgPreviewId).setAttribute("src",e.target.result);}  reader.readAsDataURL(fileObj.files[0]);}else if(browserVersion.indexOf("SAFARI")>-1){alert("不支持Safari浏览器6.0以下版本的图片预览!");}}else if (browserVersion.indexOf("MSIE")>-1){//ie、360低版本预览if(browserVersion.indexOf("MSIE 6")>-1){//ie6document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);}else{//ie[7-9]fileObj.select();if(browserVersion.indexOf("MSIE 9")>-1)fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问var newPreview =document.getElementById(divPreviewId+"New");if(newPreview==null){newPreview =document.createElement("div");newPreview.setAttribute("id",divPreviewId+"New");newPreview.style.width = document.getElementById(imgPreviewId).width+"px";newPreview.style.height = document.getElementById(imgPreviewId).height+"px";newPreview.style.border="solid 1px #d2e2e2";}newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')";                            var tempDivPreview=document.getElementById(divPreviewId);tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview);tempDivPreview.style.display="none";                    }}else if(browserVersion.indexOf("FIREFOX")>-1){//firefoxvar firefoxVersion= parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);if(firefoxVersion<7){//firefox7以下版本document.getElementById(imgPreviewId).setAttribute("src",fileObj.files[0].getAsDataURL());}else{//firefox7.0+                    document.getElementById(imgPreviewId).setAttribute("src",window.URL.createObjectURL(fileObj.files[0]));}}else{document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);}         }else{alert("仅支持"+allowExtention+"为后缀名的文件!");fileObj.value="";//清空选中文件if(browserVersion.indexOf("MSIE")>-1){                        fileObj.select();document.selection.clear();}                fileObj.outerHTML=fileObj.outerHTML;}
}

整个测试代码:图片自己添加

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
</head>
<body>
<div id="divPreview"><img id="imgHeadPhoto" src="noperson.jpg" style="width: 160px; height: 170px; border: solid 1px #d2e2e2;" alt="" />
</div>
<input type="file" onchange="PreviewImage(this,'imgHeadPhoto','divPreview')" size="20"/><script type="text/javascript">
//js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3
function PreviewImage(fileObj,imgPreviewId,divPreviewId){var allowExtention=".jpg,.bmp,.gif,.png";//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value;var extention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase();            var browserVersion= window.navigator.userAgent.toUpperCase();if(allowExtention.indexOf(extention)>-1){ if(fileObj.files){//HTML5实现预览,兼容chrome、火狐7+等if(window.FileReader){var reader = new FileReader(); reader.onload = function(e){document.getElementById(imgPreviewId).setAttribute("src",e.target.result);}  reader.readAsDataURL(fileObj.files[0]);}else if(browserVersion.indexOf("SAFARI")>-1){alert("不支持Safari6.0以下浏览器的图片预览!");}}else if (browserVersion.indexOf("MSIE")>-1){if(browserVersion.indexOf("MSIE 6")>-1){//ie6document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);}else{//ie[7-9]fileObj.select();if(browserVersion.indexOf("MSIE 9")>-1)fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问var newPreview =document.getElementById(divPreviewId+"New");if(newPreview==null){newPreview =document.createElement("div");newPreview.setAttribute("id",divPreviewId+"New");newPreview.style.width = document.getElementById(imgPreviewId).width+"px";newPreview.style.height = document.getElementById(imgPreviewId).height+"px";newPreview.style.border="solid 1px #d2e2e2";}newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')";                            var tempDivPreview=document.getElementById(divPreviewId);tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview);tempDivPreview.style.display="none";                    }}else if(browserVersion.indexOf("FIREFOX")>-1){//firefoxvar firefoxVersion= parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);if(firefoxVersion<7){//firefox7以下版本document.getElementById(imgPreviewId).setAttribute("src",fileObj.files[0].getAsDataURL());}else{//firefox7.0+                    document.getElementById(imgPreviewId).setAttribute("src",window.URL.createObjectURL(fileObj.files[0]));}}else{document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);}         }else{alert("仅支持"+allowExtention+"为后缀名的文件!");fileObj.value="";//清空选中文件if(browserVersion.indexOf("MSIE")>-1){                        fileObj.select();document.selection.clear();}                fileObj.outerHTML=fileObj.outerHTML;}
}
</script>
</body>
</html>

2013-7-2
1.更新原来newPreview.style.width =document.getElementById(imgPreviewId).style.width为document.getElementById(imgPreviewId).width+"px";

2013-7-4

1.更新兼容ie9浏览器、兼容360浏览器5.5+

兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览相关推荐

  1. js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3

    //js本地图片预览,兼容ie[6-9].火狐.Chrome17+.Opera11+.Maxthon3 <!DOCTYPE html> <html xmlns="http: ...

  2. js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3tr td style=width:35%; class=noBorderL

    <tr> <td style="width:35%;" class="noBorderL firstTD">资格证图片</td&g ...

  3. input file本地图片预览的方法(兼容IE、Chrome和Firefox)

    JS兼容各个浏览器的本地图片上传即时预览效果 2014-02-26      我来说两句       收藏     我要投稿 很早以前 在杭州银行工作曾经碰到这么一个需求,当时也是纠结了很久,也是go ...

  4. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

    原文:html5 图片上传,支持图片预览.压缩.及进度显示,兼容IE6+及标准浏览器 以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一 ...

  5. JavaScript 判断 Chrome 内核的 360 浏览器

    http://loo2k.com/blog/detect-chrome-core-360-browser/ 由于众所周知的原因,360 浏览器(包括安全浏览器和极速浏览器)都将自己的 userAgen ...

  6. 最简单的图片预览功能【兼容IE8】

    最简单的图片预览功能[兼容IE8]  将如下代码放入<head></head>中: <html><head> <script type=&quo ...

  7. chrome opera ie等浏览器hack解决方案

    来自:http://www.zhjie.net/chrome-opera-browser-such-as-ie-hack-solution.htm 相信每一个做前端的.做网站开发的都有一个体会.做兼容 ...

  8. [乐意黎原创] JS根据useAgent来判断edge, ie, firefox, chrome, opera, safari 等浏览器的类型及版本

    JS根据浏览器的useAgent来判断浏览器的类型. userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. javascript语法:navigator.us ...

  9. 360浏览器的js兼容与360拦截浮动广告

    360浏览器对页面过滤的地方非常之多,先说两个我前两天用到的: 前几天用写了点(http://www.nycfgl.com/)东西,用js写的,在ie和chrome中都没用问题,在360中就出问题了, ...

最新文章

  1. PyTorch图像分类从模型自定义到测试
  2. linux的ftp226,ftp服务器 不返回 226
  3. 宇宙的第一推动力,必然存在吗?
  4. Android单元测试 - 几个重要问题
  5. 移动端阻止body左右偏移
  6. 光伏等新能源信用风险事件频繁爆发
  7. python连接redis sentinel集群
  8. 发卡网源码 去后门 可以扩展码支付
  9. Linux下高速缓存DNS的配置
  10. MDaemon替换注册码怎样人工激活.docx
  11. 1053. 住房空置率 (20)-PAT乙级真题
  12. window ftp open命令打不开_Centos7上搭建ftp
  13. 笔记本电脑(PC)序列号查询
  14. Java 中Lambda表达式的使用详解
  15. c语言第五章函数课后答案,C语言程序设计(第2版) 刘克威,张凌晓著 习题答案-第五章...
  16. 新建SpringCloud电商后台项目
  17. 爬虫-漫画喵的100行逆袭
  18. 电脑插了耳机后声音还是外放解决方案
  19. 【将数组a中n个整数按相反顺序存放】
  20. 七彩虹主板进BIOS设置和打开启动项菜单快捷键

热门文章

  1. Linux下闹钟函数alarm的常见用法
  2. python十六进制转十进制
  3. What's new in Swift 3
  4. html漂浮图片代码关闭,js带关闭按钮的网页漂浮广告代码
  5. 试用码云gitee上开源项目“小威架构 / boot-backend“的代码生成器遇到的坑
  6. 【致敬未来的攻城狮计划】--RA2E1 开发板测评(2)LED闪烁
  7. 解决播放swf视频提示“该版本过旧,不支持运行,请升级后使用”的问题
  8. 计算机网络的产生和发展
  9. mybatis的example.createCriteria()方法学习记录
  10. 总部在新加坡!招AIGC算法工程师、测试工程师,20-35k,STARY等你来!