JavaScript-Laufzeit-Fehler: Objekt unterstützt keine Eigenschaft oder Methode " addEventListener
Bin mit Asp.Net 2.0, versuche, Dateien per drag & drop mit asp.net.
für diesen Prozess bin über folgenden js ist
<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>
deshalb kommt der Fehler wie dieser
JavaScript runtime error: Object doesn't support property or method 'addEventListener
bin mit IE11
also ich war früher ein code
<meta http-equiv="X-UA-Compatible" content="IE=edge;" />
es nicht funktioniert
und mein Skript ist
<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>
und meine aspx-Seite ist
<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>
Aber diese Anwendung Dateien per drag & drop funktioniert in chrome und firefox
problem nur im IE
Schlagen Sie mich um eine Lösung.
Vielen Dank im Voraus.
- Was ist das Objekt, das zurückgegeben werden (Feld = document.getElementById("box");)? Ist es ein div?
- ja, es ist ein div
Du musst angemeldet sein, um einen Kommentar abzugeben.
nehmen ie11 von Ihrem met-tag, und stattdessen den folgenden code hinzufügen. Dies erklärt sich hier.
Was ist dein Dokument-Modus " im IE?
F12 drücken, und Sie sollten sehen eine dropdown-Liste mit einer Zahl oder das Wort edge, stellen Sie sicher, es ist für die edge. Obwohl Sie mit dem meta-tag zum festlegen des Dokument-Modus, wenn Sie zuvor hatte es auf etwas anderes wird es außer Kraft setzen.
Bearbeiten Sie die plunkr, um zu sehen, wo es nicht klappt - ich habe keine jQuery-1.7.2 zur hand...aber getestet in internet explorer 11 und kann nicht sehen, dass Fehler. Ich bin mit dem click-Ereignis, wie es ein einfacher Fall zu erzeugen, in der browser und es wird die addEventListener () - Methode werfen.
http://embed.plnkr.co/Smm421v5In2YYJAJXNTW/preview
...und im Skript...
Dies ist wegen der Kompatibilität Problem hinzufügen unten im web.config-Datei