How to copy a HyperText link into clipboard with JavaScript and preserve its link properties(如何用JavaScript将超文本链接复制到剪贴板并保留其链接属性)
问题描述
我一直想知道如何复制一个带有href和文本的链接,例如,我们有一个这样的标记:
<a href="http://mysite.sample/?creds=creds">Quick Access to the website</a>
基本上我非常清楚如何将内容复制到剪贴板中,我目前的解决办法是创建一个不可见的小文本区域,在其中放置我想要复制的文本,然后使用js选择文本区域内的所有文本,并执行复制命令,如下所示:
document.execCommand('copy');
好的,我可以毫无问题地复制原始文本,我可以将链接复制到我的剪贴板中,但是一旦我粘贴它,该链接就只是文本,而不是可以单击以转到其目标的活动链接。
我知道为什么会发生这种情况,一旦我将链接放入文本区域,它就不再是链接,但我不知道在不断开链接的情况下执行此操作的任何其他方法。
所以,一旦我复制了链接,我就不需要用js修改它或更改href或其他任何东西,一旦我复制了链接,我想把它粘贴到我无法控制的另一个页面,我希望我的链接仍然是一个链接,而不是简单的文本。
如有任何帮助,我们将不胜感激。 由于我正在处理的项目,我不能依赖于库来做到这一点,我需要一些本机js解决办法
本帖子与如何在JavaScript中复制到剪贴板的帖子不同?我已经知道如何做到这一点。我想知道的是如何才能在不丢失链接属性的情况下复制链接。
推荐答案
A<textarea>
只能包含文本。您需要复制一个实际的链接。试试这个:
const onClick = evt => {
const link = document.querySelector('a');
const range = document.createRange();
range.selectNode(link);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
const successful = document.execCommand('copy');
};
document.querySelector('button').addEventListener('click', onClick);
This is an <a href="https://example.com">Example</a>.
<button>Copy</button>
编辑:我注意到我错过了一场关于...的大讨论电子邮件?但我回答了被问到的问题--如何将实际的链接复制到剪贴板。
这篇关于如何用JavaScript将超文本链接复制到剪贴板并保留其链接属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何用JavaScript将超文本链接复制到剪贴板并保留其链接属性
基础教程推荐
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 动态更新多个选择框 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 在for循环中使用setTimeout 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01