当前位置:首页 > 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 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…