2012-09-01 53 views
3

我正在做一些旧学校的IE浏览器,并尝试从Windows资源管理器拖放到IE工作。我收到丢弃事件,但dataTransfer对象不包含文件名。 getData("Text")也是null。我错过了什么?从Windows资源管理器拖放文件到Internet Explorer

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>DnD</title> 
    <script src="scripts/jquery-1.7.2.min.js"></script> 
</head> 
<body> 
    <div id="dropstuff">drop stuff here</div> 
    <script> 
    $(function() { 
     var dropTarget = $("#dropstuff"); 

     dropTarget.bind("dragenter dragover", function() { 
     window.event.returnValue = false; 
     return false; 
     }); 

     dropTarget.bind("drop", function (e) { 
     window.event.returnValue = false; 
     var file = e.originalEvent.dataTransfer.getData("Url"); 
     // file is null! 
     return false; 
     }); 
    }); 
</script> 
</body> 
</html> 
+3

IE只支持一些DOM元素的拖放操作,直到下一个版本的IE10才支持文件。 – batzkoo

+0

由于诉讼或其他原因,微软是否完全切断IE和Windows Explorer之间的互操作性? – Ariane

回答

0

IE在支持事情上真的很糟糕。

您应该使用特殊插件,即https://github.com/blueimp/jQuery-File-Uploadhttp://www.plupload.com/或者您可能想要在Flash上​​找到解决方案。但这可能需要一些时间。

我建议你解决这个问题的组织方式:建议用户通过显示在IE部分的funcionality兼容性警告使用现代浏览器。

相关问题