当前位置:首页 > 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(现代浏览器推荐)

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

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

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

先尝试 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 反馈(如提示“已复制”)提升用户体验。

示例:点击按钮复制

js复制文本的实现

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

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

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…