【问题标题】:Pasting a hyperlink from an Office/Outlook Add-in从 Office/Outlook 加载项粘贴超链接
【发布时间】:2016-08-12 14:40:19
【问题描述】:

目前我正在制作一个插件,可以从网站复制各种内容并将它们直接粘贴到电子邮件正文中。通常,当我 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");

但它只是在正文中粘贴了一个“null”值。我知道这些 getData 方法自 Microsoft Edge 起已被弃用,但据我所知,它们仍应适用于所有 Internet Explorer。

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

【问题讨论】:

    标签: javascript hyperlink outlook office365 office-addins


    【解决方案1】:

    问题不在于将链接粘贴到 Outlook 中 - 问题在于首先从剪贴板获取它。 clipboardData.getData("URL") 不行,你可以在普通的 IE 窗口中验证。

    在 IE 中从剪贴板获取 HTML 很棘手。这里讨论了解决方案:Get html from clipboard in javascript

    【讨论】:

    • 感谢您的链接。现在我正在使用带有代码的临时解决方案:var url = window.clipboardData.getData("Text");Office.context.mailbox.item.setSelectedDataAsync('<a href="' + url + '">' + url + '</a>', { coercionType: "html" });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多