在http://afarkas.github.io/webshim/demos/demos/filereader.html的WebShims文档中,它给出了一个将FileReader与WebShims一起使用的示例。接下来我现在有了这个代码
<input class="ws-filereader" id="userFiles" multiple type="file"/>
//Added Mordenizr and JQuery and WebShims library
$.webshims.polyfill();
$(function()
{
$('#userFiles').on('change', function (evt)
{
var reader, file;
reader = new FileReader();
reader.onload = function (evt)
{
var fileData = evt.target.result;
};
file = $(this).prop('files')[0];
reader.readAsDataURL(file);
});
});
当我在IE9中运行它时,它会在更改userFiles时输入代码,但是当我调用get
时 console.log($(this).prop('files').length);
它给出了0.它有什么问题?
当我打开
$.webshims.setOptions('debug', true);
控制台给了我
Unable to get value of the property 'input': object is null or undefined.
在其问题https://github.com/Jahdrien/FileReader/issues/46上发布了一个类似的问题,它表示WebShims支持IE9 for FileReader
答案 0 :(得分:0)
问题是在IE10之前没有在IE中引入文件API:
http://msdn.microsoft.com/en-us/library/ie/hh673542%28v=vs.85%29.aspx
这个polyfill列表可能有用,可以找到一种解决方法:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#wiki-file-api