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('要复制的内容');

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

相关推荐
song5015 分钟前
React Native for OpenHarmony 实战:三方库 react-native-ratings 的鸿蒙化适配指南
javascript·react native·react.js·分类·harmonyos
wewowilling17 分钟前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
小羊没烦恼!24 分钟前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
朱包林26 分钟前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
棉猴27 分钟前
玩游戏学Python5-函数
开发语言·python·函数·玩游戏·游戏编程
谢亮_vipxieliang1 小时前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
denlaku1 小时前
JDK 13 新特性详解
java·开发语言
念越1 小时前
题库、练习与错题本代码阅读
开发语言·数据结构
WeiXin_DZbishe1 小时前
基于Node.js的马拉松赛事管理系统的设计与实现-计算机毕设 附源码【课程设计】90211
java·javascript·vue.js·python·php·课程设计
l1t1 小时前
几种数据库软件count(distinct)和count()from group by子查询性能测试
开发语言·数据库