复制到剪贴板隐藏的元素

时间:2017-02-02 10:31:12

标签: javascript copy-paste

我试图理解为什么这段代码不起作用。

我想要完成的是将当前网址复制到剪贴板中,所以作为一种解决方法,我尝试创建一个隐藏的输入,我在其中传递当前位置,但我没有运气。

这是我迄今为止尝试过的一个例子:

var copyBtn = document.querySelector('#copy_btn');

copyBtn.addEventListener('click', function () {
	var input = document.createElement('input');
  input.style.display = "none";
  input.setAttribute('value', document.location)
	document.body.appendChild(input);
  // select the contents
  input.select();
  
  document.execCommand('copy');
}, false);
<input id="copy_btn" type="button" value="copy">

1 个答案:

答案 0 :(得分:2)

您只能在用户操作上触发copy命令(按键,点击输入等...)。

在此处查看更多信息:https://developers.google.com/web/updates/2015/04/cut-and-copy-commands?hl=en

想象一下,如果您打开一个网站,它会自动覆盖您的剪贴板,而不会做任何事情,从而带来安全隐患。

因此,您应该添加一个按钮以“将URL复制到剪贴板”并在该按钮的单击处理程序中使用document.execCommand

LE:我刚刚向你发现了一个类似的问题并将其标记为重复。