复制链接到剪贴板,粘贴超链接

时间:2018-07-02 11:08:51

标签: javascript html angular typescript

我在文件旁边有多个复选框,并且在选中多个复选框时有1个共享按钮,然后单击共享按钮,我要复制这些文件的下载URL。我可以为他们复制下载URL,也可以将它们粘贴到记事本/网络邮件中。

但是我的问题是我应该只能粘贴将是超链接的文件名,并且在单击该文件名时会弹出一个链接。

如何仅复制文件名并将其作为超链接粘贴到记事本/剪贴板上。请指导我。下面是我的代码。

shareDoc(){
    const textArea1 = document.createElement('textArea');
    this.docs.forEach(docs => {
    const downloadURL = this.service.getURL(id);
    const link = '<a href="'+downloadURL+'">'+doc.name+'</a></br>';
    textArea1.value = textArea1.value+link;
  });
  document.body.appendChild(textArea1);
  textArea1.focus();
  textArea1.select();
  document.execCommand('copy');
  document.body.removeChild(textArea1);
}

将其粘贴到剪贴板/网络邮件时,我得到了

<a href="http://downloadlink1.com">File1</a><br/><a href="http://downloadlink2.com">File2</a><br/><a href="http://downloadlink3.com">File3</a> 

,但它应显示为超链接,如下所示

File1
File2
File3

请指导我实现这一目标。

PS:我研究的是Angle 4和primeNG 5

1 个答案:

答案 0 :(得分:0)

您不能选择如何为用户粘贴链接,原因很简单,您不知道用户将如何处理该链接。

例如,假设我拿到您的链接并将其粘贴在SOF上:语法为

[File1](http://downloadlink1.com)

现在,我想通过邮件与我的一个好友共享:语法为

<a href="http://downloadlink1.com">File1</a>

即使使用这种语法,根据我使用的客户端以及粘贴方式的不同,它也可以仅显示原始文本而不是链接。

如您所见,我不能同时做到,只能选择一种解决方案。

我建议您只复制链接http://downloadlink1.com,然后让用户决定他要怎么做。