Javascript 是否将静态文本复制到剪贴板?
我需要创建一个脚本,将特定文本复制到剪贴板的用户(从任何设备/操作系统/浏览器)。 我找到了这个JS库。但是我的javascript不是很好,所以我的问题是如何在我的脚本中使用这个库,这或多或少是这样的Javascript 是否将静态文本复制到剪贴板?,javascript,Javascript,我需要创建一个脚本,将特定文本复制到剪贴板的用户(从任何设备/操作系统/浏览器)。 我找到了这个JS库。但是我的javascript不是很好,所以我的问题是如何在我的脚本中使用这个库,这或多或少是这样的 <p id="text">text to copy</p> <button onclick="CopyToClipboard()">Copy</button> <script> funct
<p id="text">text to copy</p>
<button onclick="CopyToClipboard()">Copy</button>
<script>
function CopyToClipboard(){
What i put here?
};
</script>
要复制的文本
复制
函数CopyToClipboard(){
我在这里放了什么?
};
使用zeroclipboard或其他更简单方法的帮助?
如果它能在尽可能多的设备上工作,那就太好了!非常感谢 我想这就是你要找的。不需要使用插件来完成你想要的简单的事情。有一种方法允许您复制文本“execCommand(“copy”);”
函数myFunction(){
var copyText=document.getElementById(“myInput”);
copyText.select();
文件。执行命令(“副本”);
警报(“复制的文本:+copyText.value”);
}
复制文本
如果要从p
标记或div
标记复制静态文本,请使用下面的代码
var selectText = document.getElementById('text');
var range = document.createRange();
range.selectNode(selectText);
window.getSelection().addRange(range);
document.execCommand('Copy');
window.getSelection().removeAllRanges();
- 这意味着您可以在这里为文本创建范围并选择节点
- 之后,从该范围中获取选择
- 最后执行命令
并清除范围Copy
var selectText = document.getElementById('text');
selectText.select();
document.execCommand("copy");
我添加了评论来解释发生了什么
函数CopyToClipboard(){
//获取要复制的文本
var selectText=document.getElementById('text').innerHTML;
//创建输入
var input=document.createElement('input');
//将其值设置为要复制的文本,输入类型无关紧要
input.value=选择文本;
//将其添加到文档中
document.body.appendChild(输入);
//在执行类似于用户的选择的输入上调用select()
input.select();
//执行copy命令,这就是我们向文档添加输入的原因
文件。执行命令(“副本”);
//从文档中删除输入
document.body.removeChild(输入);
}
要复制的文本
复制谢谢,但我试图用style=“display:none;”隐藏输入,但当我这样做时,它不会复制文本。我可以隐藏要复制的文本吗?@RiccardoFarina我编辑了我的答案,但就我所见,即使没有显示输入,它仍然会将文本输出到警报中。谢谢!它在iPhone上工作吗?我试过了,但似乎不起作用!你是说Safari,我不知道我没有测试它。在iPhone和Safari的Chrome上测试,不起作用,我要提出一个新问题:)谢谢