JS复制内容到剪贴板的两种方式

在 HTML 中复制内容到剪贴板有两种方式。

  • 使用 JavaScript 代码,
  • 使用 HTML5 中的 Clipboard API。

一、使用 JavaScript 代码复制内容到剪贴板:

<button onclick="copyToClipboard('Hello, world!')">复制到剪贴板</button>
<script>
function copyToClipboard(text) {
  var dummy = document.createElement("textarea");
  document.body.appendChild(dummy);
  dummy.value = text;
  dummy.select();
  document.execCommand("copy");
  document.body.removeChild(dummy);
}
</script>

代码解析:

  • 创建了一个按钮,点击按钮时会调用 copyToClipboard() 函数,并传递 "Hello, world!" 作为参数。
  • copyToClipboard() 函数的具体逻辑:
    1. 动态创建一个 textarea 元素。
    2. 将要复制的文本设置为 textarea 的值。
    3. 调用 select() 方法选中该文本。
    4. 执行 document.execCommand("copy") 命令,将选中文本复制到剪贴板。
    5. 最后移除创建的 textarea 元素。

二、使用 Clipboard API 复制内容到剪贴板:

<button id="copyBtn">复制到剪贴板</button>
<script>
var copyBtn = document.querySelector("#copyBtn");
copyBtn.addEventListener("click", function(event) {
 event.preventDefault();
 var text = "Hello, world!";
 navigator.clipboard.writeText(text).then(function() {
   console.log("复制成功!");
 }, function() {
   console.log("复制失败!");
 });
});
</script>

代码解析:

  • 此方法使用了 Clipboard API 的 navigator.clipboard.writeText() 方法。
  • 当用户点击按钮时:
    1. 调用 writeText() 方法,将指定的文本 "Hello, world!" 复制到剪贴板。
    2. 如果操作成功,会在控制台打印“复制成功!”。
    3. 如果操作失败,会在控制台打印“复制失败!”。

注意事项

  • Clipboard API 是现代浏览器中引入的功能,部分旧版浏览器可能不支持。
  • 某些浏览器可能需要用户授权,允许网站访问剪贴板功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值