FireFox 7/8 上传前预览图片

//以前是这么做的: var obj = document.getElementById("UploadFile"); var src = ""; if (obj.files) { src = obj.files[0].getAsDataURL(); } else { if((navigator.userAgent.indexOf("MSIE")>0) && (parseInt(navigator.appVersion) >=4))//isIE = true; { obj.select(); //该对象选取 src= document.selection.createRange().text; //返回选取项的文本内容 } } document.getElementById("imgPreview").src=src;

上面的大概只能用于FF6 (<=6), IE 6. 版本变化幻多, 自己去测试吧.

现在混蛋的是, 现在已经无法这样取了.

关于IE7/8, 在本人另一篇文章里,

FF7/8, js预览应该是如此处置.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <title>Image preview example</title> <script type="text/javascript"> oFReader = new 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) { document.getElementById("uploadPreview").src = oFREvent.target.result; }; function loadImageFile() { if (document.getElementById("uploadImage").files.length === 0) { return; } var oFile = document.getElementById("uploadImage").files[0]; if (!rFilter.test(oFile.type)) { alert("You must select a valid image file!"); return; } oFReader.readAsDataURL(oFile); } </script> </head> <body onload="loadImageFile();"> <form name="uploadForm" action=""> <table> <tbody> <tr> <td> <img id="uploadPreview" style="" src="http://www.youkuaiyun.com/ui/images/gongshang_logos.gif" alt="Image preview" /> </td> <td> <input id="uploadImage" type="file" name="myPhoto" onchange="loadImageFile();" /> </td> </tr> </tbody> </table> </form> </body> </html>

来源: http://archive.cnblogs.com/a/2208869/

--------------------------------------------------------------------------------------------------------------

有一个牛人, 做了一个通用的. http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html

IE的是可行, 但FF不行. 可能是当时版本没有到7.

不过里面设置了一种很强大的模式: remote, 几乎没有什么搞不定的. [ 上传到服务器的内存, 处理完, 再回传显示. ]

在ImagePreview.js , Line 42插入一条语句

ImagePreview.MODE = "remote";

也就是传到服务器上, 再给客户看, 差不多就一切OK了.

JS预览确实是好, 可以节省资源. 可是你能跟得上浏览器的版本变化吗?

IE行的, FF不行, IE6行的, IE7不行, FF6行的, FF7不行. IE, FF搞定了, 还有Chrome, 还有Opera. 不知道, 明天又变出什么花样出来.

--------------------------------------------------------------------------------------------------------------

咸定!


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值