我已经按照教程将普通表格与Dropzone结合使用(https://github.com/enyo/dropzone/wiki/Combine-normal-form-with-Dropzone),结果页面在最新版Google Chrome中完美运行。
但是,当我在IE10中测试同一页面时拖放不起作用。可以单击放置区域,我可以将文件上传到服务器,从而正确初始化dropzone。只是拖放功能不起作用。
当我尝试在http://www.dropzonejs.com/上进行演示时,拖放工作在IE10中。
我已经检查了IE互联网选项,一切都已启用,我还将localhost添加到可信站点。
这是我的代码:
<script src="~/Scripts/dropzone.js"></script>
<script type="text/javascript">
Dropzone.options.dropzoneForm = {
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 100,
maxFiles: 100,
addRemoveLinks: true,
createImageThumbnails: false,
// The setting up of the dropzone
init: function() {
var myDropzone = this;
// First change the button to actually tell Dropzone to process the queue.
this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
// Make sure that the form isn't actually being sent.
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
}
};
</script>
<form action="~/FileUpload/SaveUploadedFiles" method="post" enctype="multipart/form-data" class="dropzone" id="dropzoneForm">
<div class="dropzone-previews"></div>
<button type="submit">Submit data and files!</button>
</form>
当然,样式表也会添加到页面中。
我是否错过了某些配置,或者这是浏览器的问题?
答案 0 :(得分:17)
事实证明,当我从Visual Studio以调试模式访问页面时,拖放不起作用。如果我从新打开的浏览器访问该页面,它可以正常工作。
根据线程http://social.msdn.microsoft.com/Forums/silverlight/en-US/383198a9-dbb4-4f94-8713-484e5bacb14b/dragdrop-not-active-during-debugging?forum=silverlightdevtools,如果使用不同的帐户/私有权执行Visual Studio和IE,则会发生这种情况。就我而言,Visual Studio以管理员身份运行。
由于我不需要在此页面上调试客户端脚本,因此在测试页面时,我将在新的IE中打开该站点。
答案 1 :(得分:2)
您必须并且在捆绑这些代码行
// dropZone styles
bundles.Add(new StyleBundle("~/Scripts/dropZone").Include(
"~/Scripts/dropzone/css/basic.css",
"~/Scripts/dropzone/css/dropzone.css"));
// dropZone
bundles.Add(new ScriptBundle("~/Scripts/dropzone").Include(
"~/Scripts/dropzone/dropzone.js"));
在您的解决方案中注意与您的匹配的脚本路径 非常重要: (SOS) - css必须是第一个,然后是js文件,例如。
答案 2 :(得分:1)
检查您的头部,看看您是否强制与旧版本的IE兼容。开发人员将我们设置为IE = 9,并且每次在IE11中上载文件时都会导致500个内部服务器错误。