Javascript document.execCommand(“复制”)不适用于所有浏览器 按钮 函数副本(){ var text=document.getElementById(“测试”); text.select(); 文件。执行命令(“副本”); log(“复制文本:+text.value”); }
我有上面的功能来复制我的副本。但它不起作用 您可以使用这个库。它具有强大的浏览器支持。您的代码存在一些问题:Javascript document.execCommand(“复制”)不适用于所有浏览器 按钮 函数副本(){ var text=document.getElementById(“测试”); text.select(); 文件。执行命令(“副本”); log(“复制文本:+text.value”); },javascript,html,Javascript,Html,我有上面的功能来复制我的副本。但它不起作用 您可以使用这个库。它具有强大的浏览器支持。您的代码存在一些问题: 输入上的disable属性必须实际禁用 当您在输入上设置禁用时,您无法选择其文本来复制它,因此在这种情况下,您可能希望使用只读,或者通过navigator.clipboard.writeText(text.value)手动设置text.value 剪贴板API并非在所有浏览器中都可用,请参阅。很长一段时间以来,人们使用Flash进行剪贴板操作,但随着浏览器中对Flash的支持被删除,已
- 输入上的
属性必须实际禁用disable
- 当您在输入上设置
,您无法选择其文本来复制它,因此在这种情况下,您可能希望使用禁用时
,或者通过只读
手动设置navigator.clipboard.writeText(text.value)
text.value
- 剪贴板API并非在所有浏览器中都可用,请参阅。很长一段时间以来,人们使用Flash进行剪贴板操作,但随着浏览器中对Flash的支持被删除,已经没有任何选项了。但是,也有类似的库可以跨受支持的浏览器简化剪贴板操作
函数复制(){
var text=document.getElementById(“测试”);
//设置任意值而不是当前选择
//到剪贴板,使其与禁用的输入一起工作
navigator.clipboard.writeText(text.value);
//text.select();
//文件。执行命令(“副本”);
log(“复制文本:+text.value”);
}
函数copy2(){
var text=document.getElementById(“test2”);
text.select();
文件。执行命令(“副本”);
log(“复制文本:+text.value”);
}
按钮
使用document.execCommand(“复制”)
按钮
您所说的“不工作”是什么意思?会发生什么?如果您已经知道某些浏览器无法正确处理这些代码,那么哪些浏览器无法正确处理这些代码?剪贴板API并非在所有浏览器中都可用,请参阅@Connum在所有浏览器中复制的最佳解决方案是什么?此处应链接此内容:同时,在所有设备上工作的完整工作示例的最佳示例位于:它包括必须调用的导入方法,以便execCommand(“copy”)在移动设备上工作。不建议使用仅链接的答案。请举例说明如何使用此库实现问题中的目标谢谢。”navigator.clipboard.writeText(text.value);`部分代码并不适用于所有浏览器。正确,这就是为什么像上面提到的clipboard.js这样的库会尽一切努力使不同浏览器实现的内容保持一致。我的代码适用于Firefox和Chrome,但不适用于Edge和其他可能的应用程序。document.execCommand(“copy”)
曾经在chrome中工作,但突然它不工作了。我正在试图找到解决方案。我更新了答案,展示了execCommand(“copy”)
的使用。这也适用于Chrome(如回答中所述,readonly
而不是disabled
)。如果它以前在Chrome中使用过disabled
,而现在不使用,那么如果你不喜欢另一种方法,除了用Google/Chrome提交一份bug报告,你就无能为力了。我已经更新了使用clipboardjs。但复制功能在弹出窗口上不起作用。
<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);
}