JS实现复制内容到剪贴板的方法

2022-06-09 13:14:47 浏览数 (2)

复制方法

代码语言:javascript复制
/**
 * 复制功能
 * text 传入要复制的文本
 * callback 复制完成后的回调
*/
function copy(text, callback) {
    // 实现复制方法一:
    if (navigator.clipboard) {
        navigator.clipboard.writeText(text);
        callback && callback(true);
        return;
    }

    // 实现复制方法二:
    var copyInput = document.getElementById('copyInput');
    if (!copyInput) {
        var copyInput = document.createElement('input');
        copyInput.setAttribute('id', 'copyInput');
        copyInput.style.position = 'fixed';
        copyInput.style.left = '-100%';
        copyInput.style.top = '0';
        copyInput.style.zIndex = -100;
        copyInput.style.opacity = 0;
        document.body.appendChild(copyInput);
    }
    copyInput.value = text;  
    copyInput.focus();
    copyInput.select();

    // document.execCommand 可能会被废弃
    if (document.execCommand('copy')) {
        document.execCommand('copy');
    }

    copyInput.blur();

    callback && callback(true);
}

调用方法

代码语言:javascript复制
copy('传入你要复制的文本');

相关文章

navigator.clipboard

document.execCommand

0 人点赞