霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

解决IE9、firefox、chrome等浏览器显示本地图片问题

最近开发上传图片的时候遇到了如何显示本地图片的问题。由于浏览器的更新换代特别快,所以以前的代码出现了兼容性的问题。本文将把主流浏览器下的兼容代码一起奉上。

IE6、7、8下使用下面的代码:

var strPic = fileObj.value;

if ($.ie && $.browser.version > 6) {
fileObj.select();
strPic = document.selection.createRange().text;
document.selection.empty();
}

没有问题,但是在IE9下,document.selection.createRange()拒绝访问,看来安全性有所提高。

其实只需要在fileObj.select()后面加上一句fileObj.blur();即可。

火狐浏览器在7.0版本以下使用下面的代码

var strPic = fileObj.files.item(0).getAsDataURL();

7.0以上版本使用下面的代码:

var strPic = window.URL.createObjectURL(fileObj.files[0]);

chrome浏览器比较简单,可以使用下面的代码:

if(window.webkitURL){
return window.webkitURL.createObjectURL(fileObj.files[0]);
}

 



There are 1 Comments to "解决IE9、firefox、chrome等浏览器显示本地图片问题"