所以我学习了一些异步上传文件的教程。该项目在Mozilla Firefox和Chrome上运行良好,但当我在Internet Explorer 9中运行时,它会出现错误:
0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'length': object is null or undefined
这是显示错误的地方:
<script type="text/javascript">
$(document).ready(function () {
$("#btnUpload").click(OnUpload);
});
function OnUpload(evt) {
var files = $("#fileUpload").get(0).files;
if (files.length > 0) { <---//Error
...
我已经尝试了一些修复,例如将其添加到头标签中
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" >
这对我不起作用。因此,我们将不胜感激。
您还没有指定用于文件上传的jQuery插件,但我猜它使用的浏览器功能(file API)在IE9等旧浏览器中不可用。
有一些方法可以使用旧浏览器上传文件;如果你想支持IE9,你必须使用一种较旧的技术。
你可能想看看这里列出的一些库——这是一个"Polyfill"库的列表,这些库声称可以在旧浏览器中与这一新功能保持一定程度的兼容性。我不能保证它们中的任何一个都能很好地与您现有的jQuery插件配合使用,但它们至少应该为您提供一个使该功能发挥作用的起点。