当前位置:首页 > JavaScript

js复制文本的实现

2026-03-01 18:51:16JavaScript

JavaScript 复制文本的实现方法

使用 Clipboard API(现代浏览器推荐)

async function copyTextToClipboard(text) {
  try {
    await navigator.clipboard.writeText(text);
    console.log('文本已复制到剪贴板');
  } catch (err) {
    console.error('无法复制文本: ', err);
  }
}

调用方式:

copyTextToClipboard('要复制的文本内容');

使用 document.execCommand(兼容旧浏览器)

function copyTextFallback(text) {
  const textarea = document.createElement('textarea');
  textarea.value = text;
  document.body.appendChild(textarea);
  textarea.select();

  try {
    const successful = document.execCommand('copy');
    const msg = successful ? '成功' : '失败';
    console.log('复制文本' + msg);
  } catch (err) {
    console.error('无法复制文本: ', err);
  }

  document.body.removeChild(textarea);
}

综合解决方案

function copyText(text) {
  if (navigator.clipboard) {
    return navigator.clipboard.writeText(text).catch(() => {
      copyTextFallback(text);
    });
  } else {
    copyTextFallback(text);
  }
}

注意事项

  • 某些浏览器可能要求在用户交互事件(如点击)中触发复制操作
  • Safari 浏览器对剪贴板访问有特殊限制
  • HTTPS 环境下 Clipboard API 更可靠
  • 考虑添加复制成功/失败的UI反馈

示例:按钮点击复制

<button onclick="copyText('示例文本')">复制文本</button>
<p id="status"></p>

<script>
function copyText(text) {
  navigator.clipboard.writeText(text)
    .then(() => {
      document.getElementById('status').textContent = '复制成功!';
    })
    .catch(err => {
      document.getElementById('status').textContent = '复制失败: ' + err;
    });
}
</script>

高级功能扩展

// 复制当前页面URL
function copyCurrentURL() {
  copyText(window.location.href);
}

// 复制特定元素内容
function copyElementText(id) {
  const text = document.getElementById(id).innerText;
  copyText(text);
}

js复制文本的实现

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

相关文章

js实现验证码

js实现验证码

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

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swip…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现轮播图

js实现轮播图

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

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Pa…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取…