【问题标题】:Copy link to clipboard, paste a hyperlinks将链接复制到剪贴板,粘贴超链接
【发布时间】:2018-07-02 11:08:50
【问题描述】:

我在文件旁边有多个复选框,并且有 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:我在 angular 4 和 primeNG 5 上工作

【问题讨论】:

    标签: javascript html angular typescript


    【解决方案1】:

    您无法选择如何为用户粘贴链接,原因很简单,您不知道用户会用它做什么。

    例如,假设我把你的链接粘贴到这里,在 SOF 上:语法是

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

    现在,我想通过邮件与我的一个朋友分享:语法是

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

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

    如您所见,我不能两者都做,我只能选择一种解决方案。

    我建议你只复制链接http://downloadlink1.com,让用户决定他想用它做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-16
      • 2012-07-29
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多