copy-paste - clipboard.js react - 如何用JavaScript复制到剪贴板?

jQuery copy to clipboard / javascript / clipboard

将文本复制到剪贴板(多浏览器)的最佳方法是什么?

我已经试过了。

function copyToClipboard(text) {
    if (window.clipboardData) { // IE浏览器
        window.clipboardData.setData("Text", text);
    } else {
        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
        const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
        clipboardHelper.copyString(text);
    }
}

Peter Mortensen



Answer #1

我非常成功地使用了它(没有jQuery或任何其他框架)。

function copyToClp(txt){
    txt = document.createTextNode(txt);
    var m = document;
    var w = window;
    var b = m.body;
    b.appendChild(txt);
    if (b.createTextRange) {
        var d = b.createTextRange();
        d.moveToElementText(txt);
        d.select();
        m.execCommand('copy');
    } 
    else {
        var d = m.createRange();
        var g = w.getSelection;
        d.selectNodeContents(txt);
        g().removeAllRanges();
        g().addRange(d);
        m.execCommand('copy');
        g().removeAllRanges();
    }
    txt.remove();
}