Google chrome 从Outlook拖动到Chrome会将电子邮件移动到已删除文件夹

Google chrome 从Outlook拖动到Chrome会将电子邮件移动到已删除文件夹,google-chrome,outlook,drag-and-drop,Google Chrome,Outlook,Drag And Drop,最近,我注意到添加了拖放功能,这样您就可以成功地将电子邮件从Microsoft Outlook收件箱拖到web应用程序的文件上载中。问题是,一旦文件被拖到web应用程序,电子邮件就会被移动到Outlook中的“已删除”文件夹中。关于如何解决这个问题有什么想法吗?很可能你是在做move而不是copy这个问题可以由web开发人员解决。 当我们在浏览器中进行拖放时,您可以转到以下网页查看具有不同行为(复制、移动、链接)的示例: 将以下行放入“dragenter”、“dragover”和“drop”事

最近,我注意到添加了拖放功能,这样您就可以成功地将电子邮件从Microsoft Outlook收件箱拖到web应用程序的文件上载中。问题是,一旦文件被拖到web应用程序,电子邮件就会被移动到Outlook中的“已删除”文件夹中。关于如何解决这个问题有什么想法吗?

很可能你是在做
move
而不是
copy
这个问题可以由web开发人员解决。 当我们在浏览器中进行拖放时,您可以转到以下网页查看具有不同行为(复制、移动、链接)的示例:

将以下行放入“dragenter”、“dragover”和“drop”事件处理程序: e、 originalEvent.dataTransfer.dropEffect=“复制”

解决此问题的代码:

$('#myDropArea').on({
  'dragenter': function (e) {            
    e.originalEvent.dataTransfer.dropEffect = "copy";
    e.stopPropagation();
    e.preventDefault();

    $(this).addClass('draginprogress');
    $(this).find('.DragText').css({ 'z-index': '1000' }).show()

  },
  'dragover': function (e) {
    e.originalEvent.dataTransfer.dropEffect = "copy";
    e.preventDefault();
    e.stopPropagation();
  },
  'dragleave': function (e) {
    e.stopPropagation();
    e.preventDefault();            
    $(this).removeClass('draginprogress');
    $(this).find('.DragText').hide();
  },
  'drop': function (e) {
    var dataTransfer = e.originalEvent.dataTransfer;
    $(this).removeClass('draginprogress');
    $(this).find('.DragText').hide()
    if (dataTransfer && dataTransfer.files.length) {
      e.originalEvent.dataTransfer.dropEffect = "copy";
      e.preventDefault();
      e.stopPropagation();

      //DO DROP action
    }
  }
});

我希望这会有所帮助

您是否也在其他浏览器中测试过这种行为?其他浏览器似乎工作正常。我检查了Edge,我们公司没有使用任何其他产品。你能详细说明一下吗?我试着在我们的web应用程序中添加一些JavaScript代码以适应这种情况,但没有成功<代码>event.dataTransfer.dropEffect='copy'在放置处理程序中执行什么操作?你设置了允许的范围吗?