Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.execCommand(“复制”)不适用于所有浏览器 按钮 函数副本(){ var text=document.getElementById(“测试”); text.select(); 文件。执行命令(“副本”); log(“复制文本:+text.value”); }_Javascript_Html - Fatal编程技术网

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);
}