ユーザーがページ上の「リッチテキスト」をコピーして、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などの別のプログラムに貼り付けることができるリッチテキスト(フォーマットされたテキスト)をテキストに含める必要があります。基本的に、ページ上のテキストを手動で選択してコピーした場合に得られるものです。
私は何が間違っているのですか?私が試みていることは可能ですか?