js图片上传预览兼容写法

index

js图片上传预览兼容写法 __veblen

浏览器厂商不同,实现某种特定功能需要进行兼容处理,如图片预览,主流浏览器支持html5 FileReader,但是IE就喜欢大喊:我们不一样!

1.FileReader

目前为止,firefox3.6+、 chrome6+、 Safari5.2+、 Opera11+、及IE10浏览器支持FileReader对象。

用法:

html




js



IE处理方式

比较欣慰的是IE中file表单可以获取选中图片的绝对路径,不要急,有绝对路径了,确不能直接赋值给img,因为除了IE6之外,由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现:

非IE6

myfile.select();
myfile.blur();
var reallocalpath = document.selection.createRange().text;
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src="" + reallocalpath + "")";  
// 设置img的src为base64编码的透明图片 取消显示浏览器默认图片  
img.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';

IE6

myfile.select();
myfile.blur();
var reallocalpath = document.selection.createRange().text;
img.src=reallocalpath;

兼容处理完整代码




    
    Document


    
    




加油!

你可能感兴趣的:(js图片上传预览兼容写法)