我正在使用Asp.Net 2.0,正在尝试使用asp.net拖放文件。
对于这个过程正在使用以下js

<script src="../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../Scripts/modernizr-2.5.3.js" type="text/javascript"></script>


这就是为什么这样的错误

JavaScript runtime error: Object doesn't support property or method 'addEventListener


正在使用IE11

所以我用了一个代码

<meta http-equiv="X-UA-Compatible" content="IE=edge;" />


它不起作用

而我的剧本是

 <script type="text/javascript" language="javascript">



    var selectedFiles;

      $(document).ready(function () {
alert("");
        if (!Modernizr.draganddrop) {
        //alert("2");
          alert("This browser doesn't support File API and Drag & Drop features of HTML5!");
          return;
        }

        var box;
        box = document.getElementById("box");
       alert(box);
        box.addEventListener("dragenter", OnDragEnter, false);
        box.addEventListener("dragover", OnDragOver, false);
        box.addEventListener("drop", OnDrop, false);

        $("#upload").click(function () {
          var data = new FormData();
          for (var i = 0; i < selectedFiles.length; i++) {
            data.append(selectedFiles[i].name, selectedFiles[i]);
          }
          $.ajax({
            type: "POST",
            url: "FileHandler.ashx",
            contentType: false,
            processData: false,
            data: data,
            success: function (result) {
              alert(result);
            },
            error: function () {
              alert("There was error uploading files!");
            }
          });
        });

      });;

      function OnDragEnter(e) {
        e.stopPropagation();
        e.preventDefault();
      }

      function OnDragOver(e) {
        e.stopPropagation();
        e.preventDefault();
      }

      function OnDrop(e) {
        e.stopPropagation();
        e.preventDefault();
        selectedFiles = e.dataTransfer.files;
        $("#box").text(selectedFiles.length + " file(s) selected for uploading!");
      }



    </script>


我的aspx页面是

<body>
<form id="form1" runat="server">
<center>
  <div id="box">Drag & Drop files from your machine on this box.</div>
  <br />
  <input id="upload" type="button" value="Upload Selected Files" />
</center>
</form>




但是此应用程序的拖放文件在chrome和firefox中工作正常
IE中的唯一问题

建议我获得解决方案。
提前致谢。

最佳答案

从您的met标签中取出ie11,然后添加以下代码。 here对此进行了说明。

/* IE11 Fix for SP2010 */
if (typeof UserAgentInfo.strBrowser !== 'undefined' && !window.addEventListener) {
     UserAgentInfo.strBrowser=1;
}

关于javascript - JavaScript运行时错误:对象不支持属性或方法'addEventListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31319440/

10-11 22:19
查看更多