注:此代码在IE9无法正确运行。公司项目中,IE9无法获取input的文件对象,而且 同样无法找到createObjectURL方法。
因为IE的安全策略问题导致 type为file的input 的value无法获取到实际路径,这时候需要将转换一下
var file = $(this)[0].files[0];
var url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
return url;
经过一段时间的挣扎之后,我决定放弃纯html/js的实现,决定向flash妥协。现在用的一个插件是百度自己开发并使用的 webuploader ,使用还是比较简单的。说真的,我觉得还是放弃IE吧,微软自己都不愿意管IE了。