input类型为file时,chrome,FF和IE8的fakepath问题处理方法

 1     function getPath(obj,fileQuery,transImg)
 2     { 
 3             if(window.navigator.userAgent.indexOf("MSIE")>=1){ 
 4                 obj.select(); 
 5                 var path=document.selection.createRange().text; 
 6                 obj.removeAttribute("src"); 
 7                 obj.setAttribute("src",transImg); 
 8                 obj.style.filter= "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path+"', sizingMethod='scale');";  
 9             } 
10             else{ 
11                 var file =fileQuery.files[0];  
12                 var reader = new FileReader();  
13                 reader.onload = function(e){ 
14                     obj.setAttribute("src",e.target.result) 
15                 } 
16                 reader.readAsDataURL(file);  
17             } 
18         }
1 var file_img=document.getElementById("up_user_img"); 
2 var transImg;
3 getPath(file_img,this,transImg);

上述方法为一个完全兼容的版本

 

转载于:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3624132

posted @ 2015-01-10 10:09  Antik  阅读(464)  评论(0编辑  收藏  举报