3

選択領域をラップするために 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 でした。ここでは、複数の範囲の使用について詳しく説明していません。

よろしくお願いします。

4

1 に答える 1

1

エラーメッセージは問題をよく説明していると思います。DOM Range 仕様のこのセクションでは、 のRange使用時にによって例外がスローされる原因について説明しsurroundContentsます。

于 2009-10-24T17:30:56.800 に答える