次の関数を使用して、選択したテキスト (つまり、ユーザーが選択したテキスト) を contenteditable div で取得しています。これは IE 9 では完全に機能しますが、IE 8、Firefox、または Chrome (どちらも最新バージョン) では機能しません。
ここの誰かが、少なくとも Firefox と IE 8 でも動作するようにこれを変更するのを手伝ってくれませんか (Chrome は必須ではありません)。
私の機能(作業中):
function GetSelection()
{
selTxt = '';
if (typeof window.getSelection != "undefined")
{
var sel = window.getSelection();
if (sel.rangeCount)
{
var container = document.createElement('div');
for (var i = 0, len = sel.rangeCount; i < len; ++i)
{
container.appendChild(sel.getRangeAt(i).cloneContents());
}
selTxt = container.innerHTML;
}
}
else if (typeof document.selection != 'undefined')
{
if (document.selection.type == 'Text')
{
selTxt = document.selection.createRange().htmlText;
}
}
return selTxt;
}
これについて助けてくれてありがとう、ティム。