IE9中的对象为null或未定义错误

时间:2015-04-03 05:34:05

标签: javascript jquery html asp.net internet-explorer-9

所以我按照一些教程来异步上传文件。该项目适用于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" >

这对我不起作用。 所以非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

您还没有指定您用于文件上传的jQuery插件,但我的猜测是,它使用的浏览器功能(文件API)并非如此。在IE9等旧版浏览器中可用。

有使用旧浏览器上传文件的方法;如果你想支持IE9,你将不得不使用一种较旧的技术。

您可能需要查看some of the libraries listed here - 这是&#34; Polyfill&#34;声称允许在旧版浏览器中对此新功能进行某种程度兼容的库。我无法保证它们中的任何一个都可以很好地与您现有的jQuery插件一起使用,但它们至少应该为您提供使该功能正常工作的起点。