js复制内容到剪贴板

在JavaScript中,复制内容到剪贴板可以使用 Clipboard API(现代浏览器支持)或通过创建隐藏的textarea元素并调用其select()和execCommand('copy')方法。

使用Clipboard API(适用于现代浏览器,如Chrome 43+、Firefox 42+、Edge、Safari 10+等):

js 复制代码
navigator.clipboard.writeText('要复制的内容').then(() => {
    console.log('内容已复制到剪贴板');
}, () => {
    console.error('无法复制到剪贴板');
});

使用document.execCommand('copy')(兼容更多老版本浏览器,但部分功能已被废弃):

js 复制代码
function copyToClipboard(text) {
    // 创建一个隐藏的textarea
    var textarea = document.createElement('textarea');
    textarea.style.position = 'absolute';
    textarea.style.left = '-9999px';

    // 将要复制的内容写入textarea
    textarea.value = text;

    // 将textarea添加到DOM树中,以便能执行选择和复制命令
    document.body.appendChild(textarea);

    // 选中文本
    textarea.select();

    try {
        // 执行复制操作
        document.execCommand('copy');
        console.log('内容已复制到剪贴板');
    } catch (e) {
        console.error('无法复制到剪贴板', e);
    }

    // 删除临时创建的textarea元素
    document.body.removeChild(textarea);
}

// 使用函数
copyToClipboard('要复制的内容');

请注意,由于安全性和隐私保护的原因,某些情况下浏览器可能会限制对剪贴板的访问,特别是在无用户交互的情况下。因此,在实际应用时,建议在用户触发某个事件(例如点击按钮)后执行复制操作。

相关推荐
Kakarotto1 小时前
Canvas 直线点击事件处理优化
javascript·vue.js·canvas
进击的尘埃2 小时前
Playwright Component Testing 拆到底:组件怎么挂上去的,快照怎么在 CI 里不翻车
javascript
左夕2 小时前
最基础的类型检测工具——typeof, instanceof
前端·javascript
yuki_uix2 小时前
递归:别再"展开脑补"了,学会"信任"才是关键
前端·javascript
用户5757303346244 小时前
🐱 从“猫厂”倒闭到“鸭子”横行:一篇让你笑出腹肌的 JS 面向对象指南
javascript
码路飞5 小时前
GPT-5.4 Computer Use 实战:3 步让 AI 操控浏览器帮你干活 🖥️
java·javascript
进击的尘埃5 小时前
Service Worker 离线缓存这事,没你想的那么简单
javascript
进击的尘埃5 小时前
HTTP/3 的多路复用和 QUIC 到底能让页面快多少?聊聊连接迁移和 0-RTT
javascript
Maxkim6 小时前
前端工程化落地指南:pnpm workspace + Monorepo 核心用法与实践
前端·javascript·架构
小兵张健18 小时前
开源 playwright-pool 会话池来了
前端·javascript·github