Exchange(邮件)在 Internet Explorer 中拖放电子邮件 (10)
Exchange (Mail) Drag and Drop eMail in Internet Explorer (10)
我想从 Office365 (Outlook) 拖放电子邮件
到另一个浏览器 window。
问题是,在我 select 并将电子邮件拖到我的放置位置后,它不接受放置位置。 (仅在 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 Window 移动到 Internet Explorer Window,当我不在文件夹所在的导航栏上时,我会立即被阻止。
我试着调试 Owa 是如何做到的。因为您可以将电子邮件拖放到文件夹(在 IE 中)。但是我被困在那里了。代码被缩小了,而且非常大,我无法分析它。
当您使用 Internet Explorer 在 Outlook Web App 或 Exchange 中拖动电子邮件时,它会被复制到剪贴板中。
与:
window.clipboardData.getData("Text");
你可以得到数据。但是,您需要在 Internet 安全策略设置中启用剪贴板选项。
我想从 Office365 (Outlook) 拖放电子邮件 到另一个浏览器 window。
问题是,在我 select 并将电子邮件拖到我的放置位置后,它不接受放置位置。 (仅在 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 Window 移动到 Internet Explorer Window,当我不在文件夹所在的导航栏上时,我会立即被阻止。
我试着调试 Owa 是如何做到的。因为您可以将电子邮件拖放到文件夹(在 IE 中)。但是我被困在那里了。代码被缩小了,而且非常大,我无法分析它。
当您使用 Internet Explorer 在 Outlook Web App 或 Exchange 中拖动电子邮件时,它会被复制到剪贴板中。
与:
window.clipboardData.getData("Text");
你可以得到数据。但是,您需要在 Internet 安全策略设置中启用剪贴板选项。