我想从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中)。但我被困在那里。代码很小,非常大,我可以分析它。
答案 0 :(得分:0)
使用Internet Explorer在Outlook Web App或Exchange中拖动电子邮件时,它会被复制到剪贴板中。
使用:
window.clipboardData.getData("Text");
您可以获取数据。但是,您需要在Internet安全策略设置中启用剪贴板选项。