从Office/Outlook加载项粘贴超链接

Pasting a hyperlink from an Office/Outlook Add-in

本文关键字:超链接 加载项 Outlook Office      更新时间:2023-09-26

目前我正在制作一个插件,可以从网站复制各种东西,并将它们直接粘贴到电子邮件的正文中。通常,当我按CTRL-C键输入一个超链接,然后按CTRL-V键输入电子邮件正文时,它会显示为一个超链接(蓝色下划线的文本)。但是如果我通过外接程序粘贴超链接,它只会将链接粘贴为文本,链接会被删除。

这是我用来从剪贴板获取数据的:

 var url = window.clipboardData.getData("Text");
 Office.context.mailbox.item.body.setSelectedDataAsync(url);

我想问题出在:

var url = window.clipboardData.getData("Text");

,因为它只是获取剪贴板中的超链接并粘贴它的"文本"版本。还可能存在一些安全问题,可能会阻止通过加载项粘贴超链接。

我也试过使用:

var url = window.clipboardData.getData(" url ");

但是它只是在body中粘贴了一个值"null"。我知道这些getData方法已经被Microsoft Edge弃用了,但我知道它们应该仍然适用于所有Internet explorer。

是否有其他方法我不知道,可以从剪贴板获得超链接,并将其粘贴为超链接,而不仅仅是名称/文本部分?谢谢!

问题不在于将链接粘贴到Outlook中-问题在于首先从剪贴板中获取链接。clipboardData.getData("URL")不能工作,你可以在一个正常的IE窗口中验证。

在IE中从剪贴板中获取HTML是很棘手的。这里讨论了以下解决方案:在javascript中从剪贴板获取html