在Internet Explorer(10)中交换(邮件)拖放电子邮件

问题描述:

我想将Office 365(Outlook) 中的电子邮件拖放到另一个浏览器窗口。在Internet Explorer(10)中交换(邮件)拖放电子邮件

问题是,我选择并拖放电子邮件到我的放置位置后,它不接受放置位置。 (仅适用于IE浏览器,Chrome浏览器)

如何创建接受电子邮件的放置位置?

我看看:https://www.html5rocks.com/en/tutorials/dnd/basics/ 但那里拖动的对象从来没有这样锁定。

然后我看了一下拖动的不同的实现,并在这个网站拖放功能:http://mereskin.github.io/dnd/

在Chrome浏览器中下面的代码工作: 的jsfiddle:https://jsfiddle.net/puq3y6u1/

(JavaScript来实现DropLocation)

var dropbox = document.getElementById('dropbox'); 

dropbox.addEventListener('dragenter', noopHandler, false); 
dropbox.addEventListener('dragexit', noopHandler, false); 
dropbox.addEventListener('dragover', noopHandler, false); 
dropbox.addEventListener('drop', drop, false); 

function noopHandler(evt) { 
    evt.stopPropagation(); 
    evt.preventDefault(); 
} 

function drop(evt) { 
    evt.stopPropagation(); 
    evt.preventDefault(); 
    var data = evt.dataTransfer.getData("text/plain"); 
    console.log(data); 
} 

HTML:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Drag and Drop the Office365 Mail</title> 
    <link rel="stylesheet" href="css/styles.css"> 
</head> 

<body> 
    <div id="dropbox">DropZone </div> 
    <script src="js/script.js"></script> 
</body> 
</html> 

CSS:

#dropbox { 
    width: 200px; 
    height: 200px; 
    background-color: blue; 
    color: white; 
    font-size: 30px; 
    text-align: center; 
    line-height: 200px; 
} 

我知道,对于Internet Explorer中的getData类型应改为只有 “文本”。

但是,我不能只将setData更改为“文本”,因为它已经由owa站点实施。

当我尝试通过chrome将邮件移入droplocation时,它按预期工作。

如果我尝试将邮件从Internet Explorer窗口移动到Internet Explorer窗口,当我不在文件夹所在的导航栏上时,立即得到阻止。

我试着调试Owa是怎么做的。因为您可以将eMails拖放到文件夹(在IE中)。但我卡在那里。代码被缩小了,非常大,我可以分析它。

Screenshot of Chrome Debug Event

当您在Outlook Web App或Exchange使用Internet Explorer拖动一个电子邮件就被复制到剪贴板。

有了:

window.clipboardData.getData("Text"); 

你可以得到的数据。但是,您需要在Internet安全策略设置中启用剪贴板选项。