3

我正在做一些老式的 IE,并试图从 Windows 资源管理器拖放到 IE 工作。我收到了放置事件,但该dataTransfer对象不包含文件名。getData("Text")也是null。我错过了什么?

<!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>
4

1 回答 1

0

IE真的不擅长支持东西。

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

我建议您以组织方式解决此问题:通过在 IE 中显示部分功能兼容性的警告来建议用户使用现代浏览器。

于 2014-01-09T17:48:39.100 回答