我试图允许用户使用 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); }
    ...
});
这会引发错误“未捕获 RangeError:超出最大调用堆栈大小”
请注意,我不希望复制文本,例如:
<h1>Something</h1>
<strong>Something else</strong>
我希望文本包含可以粘贴到另一个程序(如 Word/Gmail 等)中的富文本(格式化文本)。基本上,如果您手动选择页面上的文本并复制它,您会得到什么。
我究竟做错了什么?我正在尝试的可能吗?