当前位置:首页 > JavaScript

js复制文本的实现

2026-01-31 03:44:12JavaScript

JavaScript 复制文本的实现方法

方法一:使用 document.execCommand(兼容旧浏览器)

创建一个临时 textarea 元素,将文本赋值后选中并执行复制命令。适用于较旧浏览器,但已逐渐被新 API 取代。

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

方法二:使用 Clipboard API(现代浏览器推荐)

js复制文本的实现

通过 navigator.clipboard.writeText 实现异步复制,更安全且支持 Promise。需注意浏览器权限限制(需用户交互触发)。

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

方法三:结合两种方法的兼容方案

js复制文本的实现

先尝试 Clipboard API,失败后降级到 execCommand,确保兼容性。

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

注意事项

  • 现代浏览器可能要求复制操作由用户交互(如点击事件)直接触发。
  • HTTPS 环境下 Clipboard API 更可靠,部分浏览器在 HTTP 限制其使用。
  • 可添加 UI 反馈(如提示“已复制”)提升用户体验。

示例:点击按钮复制

<button onclick="copyText('要复制的文本')">点击复制</button>

标签: 文本js
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previ…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…