Internet Explorer中的Exchange(邮件)拖放电子邮件(10)

时间:2016-11-30 15:21:24

标签: javascript outlook drag-and-drop office365 exchange-server

我想从Office365(Outlook)拖放电子邮件 到另一个浏览器窗口。

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

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

我看了一眼:https://www.html5rocks.com/en/tutorials/dnd/basics/ 但拖动的物体永远不会被锁定。

然后我看了一下此站点拖放功能的不同实现:http://mereskin.github.io/dnd/

在Chrome中,以下代码有效: JSFiddle:https://jsfiddle.net/puq3y6u1/

(DropLocation的JavaScript)

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类型应该只更改为“text”。

但是我无法将setData更改为“text”,因为这已经由owa网站实现了。

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

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

我试图调试Owa是如何做到的。因为您可以将eMails拖放到文件夹(在IE中)。但我被困在那里。代码很小,非常大,我可以分析它。

Screenshot of Chrome Debug Event

1 个答案:

答案 0 :(得分:0)

使用Internet Explorer在Outlook Web App或Exchange中拖动电子邮件时,它会被复制到剪贴板中。

使用:

window.clipboardData.getData("Text");

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