如何在IE9中获取文件
How to get files in IE9
我必须通过 AJax 请求在服务器上上传文件。
我已经创建了该功能并且它在 IE 10、11 上工作但不幸的是它现在在 IE9 上工作。
var file = inputTypeElmnt;
file.files[0];
IE 9 不支持 file.files。
有什么替代方案。
有一个涉及使用隐藏 iframe
的解决方案,基本上您将表单的目标设置为 iframe
然后提交表单。
var form = document.querySelector('#test');
form.addEventListener('change', change);
function change(event){
var iframe = document.createElement('iframe');
iframe.name = 'iframex';
form.target = iframe.name;
iframe.style.width = 0;
iframe.style.height = 0;
document.body.appendChild(iframe);
iframe.addEventListener('load', load);
form.submit();
}
function load(event){
alert(this.contentWindow.document.body.textContent);
}
http://jsfiddle.net/mowglisanu/memc6qnq/1
或者你可以只使用类似 https://github.com/blueimp/jQuery-File-Upload 的东西(这可能会做同样的事情)
我必须通过 AJax 请求在服务器上上传文件。 我已经创建了该功能并且它在 IE 10、11 上工作但不幸的是它现在在 IE9 上工作。 var file = inputTypeElmnt; file.files[0];
IE 9 不支持file.files。 有什么替代方案。
有一个涉及使用隐藏 iframe
的解决方案,基本上您将表单的目标设置为 iframe
然后提交表单。
var form = document.querySelector('#test');
form.addEventListener('change', change);
function change(event){
var iframe = document.createElement('iframe');
iframe.name = 'iframex';
form.target = iframe.name;
iframe.style.width = 0;
iframe.style.height = 0;
document.body.appendChild(iframe);
iframe.addEventListener('load', load);
form.submit();
}
function load(event){
alert(this.contentWindow.document.body.textContent);
}
http://jsfiddle.net/mowglisanu/memc6qnq/1
或者你可以只使用类似 https://github.com/blueimp/jQuery-File-Upload 的东西(这可能会做同样的事情)