Javascript 将文本范围选择发送到剪贴板

Javascript 将文本范围选择发送到剪贴板,javascript,zeroclipboard,Javascript,Zeroclipboard,我正在尝试允许用户使用Javascript复制页面上的“富文本”以粘贴到Word/他们的电子邮件程序等中 为此,我首先使用以下函数创建一个范围选择: function copyHTMLToClipboard($target) { var contents = false; if (window.getSelection) { contents = window.getSelection(); } else if (document.getSelecti

我正在尝试允许用户使用Javascript复制页面上的“富文本”以粘贴到Word/他们的电子邮件程序等中

为此,我首先使用以下函数创建一个范围选择:

function copyHTMLToClipboard($target) {

    var contents = false;

    if (window.getSelection) {
        contents = window.getSelection();
    } else if (document.getSelection) {
        contents = document.getSelection();
    } else if (document.selection) {
        contents = document.selection.createRange().text;
    }

    if (contents && (contents+'').length > 0) {
        return contents;
    }

}

function copy($target) {
    $target.select();
    contents = copyHTMLToClipboard($target);
}
然后我尝试将输出发送到zeroclipboard,如下所示:

$(".zclip").zclip({
    ...
    copy: function() { contents = copy($target); }
    ...
});
这会引发一个错误“Uncaught RangeError:超出最大调用堆栈大小”

请注意,我不希望复制以下文本:

<h1>Something</h1>
<strong>Something else</strong>
什么 其他东西 我希望文本包含富格文本(格式化文本),可以粘贴到另一个程序中,如Word/Gmail等。基本上就是您在页面上手动选择文本并复制它所得到的

我做错了什么?我所尝试的可能吗