首页 > 解决方案 > 如何从 Javascript 变量复制到剪贴板

问题描述

我试图将我的 JavaScript 变量复制到 Chrome 中的剪贴板。我在网上找到了很多信息,但没有一个结果正是我所需要的。

答案很简单。不过,我不确定是否需要所有这些。

document.body.appendChild(element);
element.value = "foo";
element.select();
document.execCommand('copy', element.value); <--- solution
document.body.removeChild(element);

我也找不到提到将值参数传递给 execCommand 复制函数的能力的文档,并且实际上猜到了它的存在。其他示例使用了 .focus 和 .select 方法,因此使用了 element.select()。那些对我不起作用。将参数添加到 execCommand 函数似乎可以解决问题。

所以我的问题是如何改进这个片段?该附加参数是否必须是 html 元素?

标签: javascriptgoogle-chromecopy

解决方案


试试下面的代码:

var text = "text";
function copyVar(text) {
    var textElement = document.createElement('textarea');
    textElement.value = text;
    textElement.setAttribute('readonly', '');
    document.body.appendChild(textElement);
    textElement.select();
    document.execCommand('copy');
    document.body.removeChild(textElement);
}

推荐阅读