HTMLとしてフォーマットされたユーザーが選択テキストを取得するJavascriptルーチンがあります。
function getHTMLOfSelection() {
var range;
if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
return range.htmlText;
}
else if (window.getSelection) {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
range = selection.getRangeAt(0);
var clonedSelection = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedSelection);
return div.innerHTML;
}
else {
return '';
}
}
else {
return '';
}
}
フィドルでは、最初に引用されたテキストを確認して選択します。
http://jsfiddle.net/userdude/Y4BBq/13/
コードは正常に機能しますが、選択にはaftereveryとが含ま\r\n
れます。なぜこれらが追加され、どの時点で追加されるのですか?andタグにはすでに改行が含まれているため、冗長に見えます。</p>
<br/>
<p>
<br>