X-0031 選択範囲のリンクを収集する ~ DOM2 RangeのcompareBoundaryPointsの使い方 2005/4/2 TBEの「選択範囲のリンクを全てタブで開く」などの機能で利用している「選択範囲内のリンクを収集する」処理についての解説です。DOM2 RangeのcompareBoundaryPointsの使い方の解説を含んでいますので、そこだけ見てもOKです。 処理の流れ 選択範囲の取得と、対応するRangeオブジェクトの取得 Rangeの中に含まれるリンクを収集する その1:元のDOMツリーと切り離して処理する場合 その2:元のDOMツリーの中で処理する場合 DOMツリーの走査 そのノードがRangeの中にあるかどうかを調べる 実際の判別 部分選択されたリンクに対する特別な処理 部分選択された「最初のリンク」を選択範囲内に含める 「選択されているようには見えない」リ