2

ユーザーがページ上の「リッチテキスト」をコピーして、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:Maximumcallstacksizeexceeded」というエラーがスローされます。

次のようなコピーされたテキストは必要ないことに注意してください。

<h1>Something</h1>
<strong>Something else</strong>

Word / Gmailなどの別のプログラムに貼り付けることができるリッチテキスト(フォーマットされたテキスト)をテキストに含める必要があります。基本的に、ページ上のテキストを手動で選択してコピーした場合に得られるものです。

私は何が間違っているのですか?私が試みていることは可能ですか?

4

0 に答える 0