選択領域をラップするために SurroundContents を使用する必要がある (と思う) スクリプトがあります。そうすることで、何かを追加してから、その範囲を選択範囲として再割り当てできます。
問題を getRangeAt の誤用に絞り込んだと思いますが、それを修正する方法がよくわかりません。
短いコードは次のとおりです。
function getRangeObject(selectionObject) {
// Moz
if (selectionObject.getRangeAt) {
return selectionObject.getRangeAt(0);
}
そして、これがエラーをスローする89行目です。
rangeObject.surroundContents(newNode);
そしてもちろん、ここにエラーがあります:
エラー: キャッチされない例外: [例外... 「範囲の境界点が特定の要件を満たしていません。」コード: "1" nsresult: "0x805c0001 (NS_ERROR_DOM_RANGE_BAD_BOUNDARYPOINTS_ERR)" 場所: " http://www.latentmotion.com/insertNode/index26.html 行: 89"]
全体を見るのに役立つ場合は、スクリプト (これまでのところ) をここで見ることができます: http://www.latentmotion.com/insertNode/index26.html
そして、私が利用しようとしていたテキスト選択ヘルパーは quirksmode でした。ここでは、複数の範囲の使用について詳しく説明していません。
よろしくお願いします。