当前位置:首页 > JavaScript

js 实现剪切板

2026-04-04 07:35:15JavaScript

实现剪切板功能的方法

方法一:使用 document.execCommand(已废弃但兼容性好)
复制文本到剪切板可以通过已废弃的 document.execCommand 方法实现,部分旧浏览器仍支持:

function copyToClipboard(text) {
  const textarea = document.createElement('textarea');
  textarea.value = text;
  document.body.appendChild(textarea);
  textarea.select();
  document.execCommand('copy');
  document.body.removeChild(textarea);
}

方法二:使用 Clipboard API(现代推荐)
现代浏览器支持异步的 Clipboard API,权限更安全:

async function copyToClipboard(text) {
  try {
    await navigator.clipboard.writeText(text);
    console.log('文本已复制');
  } catch (err) {
    console.error('复制失败:', err);
  }
}

方法三:兼容性兜底方案
结合两种方法,优先使用 Clipboard API,失败时回退到 execCommand

js 实现剪切板

async function copyToClipboard(text) {
  if (navigator.clipboard) {
    try {
      await navigator.clipboard.writeText(text);
      return;
    } catch (err) {}
  }
  const textarea = document.createElement('textarea');
  textarea.value = text;
  document.body.appendChild(textarea);
  textarea.select();
  document.execCommand('copy');
  document.body.removeChild(textarea);
}

注意事项

  • 权限问题:Clipboard API 在 HTTPS 或本地开发环境(localhost)中无需额外权限,其他环境可能触发权限请求。
  • 用户交互:部分浏览器要求复制操作必须由用户触发(如点击事件)。
  • 错误处理:始终捕获 Clipboard API 的错误,避免脚本中断。

标签: 剪切板js
分享给朋友:

相关文章

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…