我正在使用Asp.Net2.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中才有问题
建议我去找个解决方案。先谢谢了。
4条答案
按热度按时间l0oc07j21#
从met标记中取出ie11,并添加下面的代码,here对此进行了解释。
mzmfm0qo2#
IE中的文档模式设置为什么?
按下F12,你会看到一个带有数字或单词edge的下拉菜单,确保它被设置为edge。即使你使用 meta标签来设置文档模式,如果你以前把它设置为其他任何东西,它也会覆盖它。
jucafojl3#
编辑plunkr来查看它失败的地方--我手头没有jQuery 1.7.2......但是在internet explorer 11中测试过,看不到那个错误。我使用click事件,因为它是一个更容易在浏览器中生成的事件,并且抛出的是addEventListener方法。
http://embed.plnkr.co/Smm421v5In2YYJAJXNTW/preview
......而在剧本中......
8gsdolmq4#
这是由于web.config文件中的兼容性问题。