[英]document.execCommand("copy") not working on all browser
<input id="test" value="Test" disabled />
<a onclick="copy()">Button</a>
function copy(){
var text = document.getElementById("test");
text.select();
document.execCommand("copy");
console.log("Copied the text: " + text.value);
}
I have above function to copy my copy.我有上述功能来复制我的副本。 But its not working.
但它不起作用。
There are a few issues with your code:您的代码存在一些问题:
disable
attribute on the input has to actually be disabled
disable
属性实际上必须被disabled
disabled
on the input, you cannot select its text in order to copy it, so you might either want to use readonly
in this case or set text.value
manually via navigator.clipboard.writeText(text.value)
disabled
时,您无法选择其文本以复制它,因此您可能希望在这种情况下使用readonly
或通过navigator.clipboard.writeText(text.value)
手动设置text.value
function copy(){ var text = document.getElementById("test"); // set arbitrary value instead of current selection // to clipboard to make it work with a disabled input as well navigator.clipboard.writeText(text.value); // text.select(); //document.execCommand("copy"); console.log("Copied the text: " + text.value); } function copy2(){ var text = document.getElementById("test2"); text.select(); document.execCommand("copy"); console.log("Copied the text: " + text.value); }
<input id="test" value="Test" disabled /> <a onclick="copy()">Button</a> <hr> <h3>using <code>document.execCommand("copy")</code></h3> <input id="test2" value="Test2" readonly /> <a onclick="copy2()">Button</a>
You could use this clipboard.js library.你可以使用这个clipboard.js库。 It has a great browser support.
它有很好的浏览器支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.