当前位置:首页 > 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);
  }
}

调用方式:

js复制文本的实现

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实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js图片轮播的实现

js图片轮播的实现

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