当前位置:首页 > JavaScript

js实现复制

2026-02-28 17:20:59JavaScript

使用 document.execCommand 方法(传统方法,已逐渐淘汰)

此方法兼容旧版浏览器,但现代浏览器可能逐步弃用。
通过创建临时 textareainput 元素,选中文本后执行复制命令:

js实现复制

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

// 调用示例
copyText('需要复制的文本');

使用 Clipboard API(现代推荐方式)

通过 navigator.clipboard.writeText() 实现,需注意浏览器权限(通常需用户触发事件如点击):

js实现复制

async function copyText(text) {
  try {
    await navigator.clipboard.writeText(text);
    console.log('复制成功');
  } catch (err) {
    console.error('复制失败:', err);
  }
}

// 调用示例(需在用户交互事件中触发)
button.addEventListener('click', () => copyText('Hello'));

兼容性处理方案

结合两种方法,优先尝试 Clipboard API,失败后降级到传统方法:

async function copyText(text) {
  try {
    if (navigator.clipboard) {
      await navigator.clipboard.writeText(text);
    } else {
      const textarea = document.createElement('textarea');
      textarea.value = text;
      document.body.appendChild(textarea);
      textarea.select();
      document.execCommand('copy');
      document.body.removeChild(textarea);
    }
    console.log('复制成功');
  } catch (err) {
    console.error('复制失败:', err);
  }
}

注意事项

  • 用户交互触发:大多数浏览器要求复制操作由用户点击等手势触发,否则可能被阻止。
  • HTTPS 环境:Clipboard API 在部分浏览器中仅限安全上下文(HTTPS)。
  • 错误处理:捕获并处理权限拒绝等异常情况。

标签: js
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现授权

js实现授权

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

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js实现 功能

js实现 功能

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