我正在尝试使用webshim FileReaderin IE9,因为因为在IE9中不支持javascript FileReader。
我的代码;
HTML:
使用Javascript:
$( document ).ready(function() {
//webshim.setOptions('basePath', '/js-webshim/minified/shims/');
webshims.setOptions({
'basePath':'/js-webshim/minified/shims/'
});
webshims.polyfill('forms forms-ext filereader');
$('#user-photo').on('change', function (evt) {
var reader, file;
reader = new FileReader();
reader.onload = function (evt) {
var fileData = evt.target.result;
// fileData is the base64 encoded image
};
//use $.prop to access files property
file = $(this).prop('files')[0];
reader.readAsDataURL(file);
});
});
我要上传txt文件,但是当我上传文件时,reader = new FileReader();这里抛出异常,因为FileReader未定义。它适用于IE9以外的所有其他浏览器
但是Github说它可以在IE6 +中运行。
https://github.com/aFarkas/webshim/
任何人都可以帮我解决这个问题吗?
提前致谢
答案 0 :(得分:0)
webshims wiki声明:
文件阅读器功能基于https://github.com/moxiecode/moxie
的代码从moxie github链接,它显示:
XHR2和文件API pollyfill是多运行时的,这意味着它们将回退到Flash和SilverLight(另外还有生产中的Java运行时),甚至是#old;#good;" HTML4,当前浏览器中没有找到HTML5功能时。
由于IE9没有natively支持Filereader,我认为它应该回退到moxie Flash / Silverlight / javasctipt环境
请检查以下内容:
您的文件输入是否具有shimable类?
<input type="file" class="ws-filereader" id="user-photo" multiple="" accept="image/*" />
您的文件阅读器polyfill已加载吗?
//load the filereader
webshim.polyfill('filereader');
您的垫片文件夹是否在正确的路径中?默认情况下,此路径是动态计算的,因此请确保使用您明确定义的内容
webshims.setOptions({
'basePath':'/js-webshim/minified/shims/'
});
我看到了与webshim相关的注释代码,以及与webshims相关的其他注释代码。 webshims是否是正确使用的对象?