function copytext(text) {
var textField = document.createElement('textarea');
textField.innerText = text;
document.body.appendChild(textField);
textField.select();
document.execCommand('copy');
textField.remove();
}
我在Reddit上找到了这个代码,我觉得它会起作用,因为创建一个元素然后SELECT IT然后执行命令' copy'是合乎逻辑的。但我很惊讶它没有,我不知道为什么。
在Chrome开发者控制台上运行此脚本时没有错误,这是我想要执行它的地方,而这正是我不想听到的答案任何API 与复制有关。如果你能告诉我如何在chrome dev工具上使用API,那么请随时告诉我。
如果我遗漏了一些事情,或者您对此有疑问。
答案 0 :(得分:1)
代码在没有用户交互的情况下无法工作,如果您尝试从控制台运行它,它将无法正常工作。
运行代码的唯一方法是将函数绑定到按钮或类似的东西。
function copytext(text) {
var textField = document.createElement('textarea');
textField.innerText = text;
document.body.appendChild(textField);
textField.select();
document.execCommand('copy');
textField.remove();
}

<button onclick='copytext("some text")'>copy some text!</button>
&#13;
您可以尝试从开发控制台调用document.queryCommandSupported("copy")
或document.queryCommandEnabled("copy")
以及按钮来验证这一点。
请参阅底部的已知错误部分。