特定のノードが Web ページの選択範囲と交差するかどうかを確認しようとしている Firefox 拡張機能に取り組んでいます。このために、次のコードを使用しています。
var rangeIntersectsNode = function(range, node) {
var nodeRange = node.ownerDocument.createRange();
try {
nodeRange.selectNode(node);
}
catch(e) {
nodeRange.selectNodeContents(node);
}
return range.compareBoundaryPoints(content.Range.END_TO_START, nodeRange) == -1 &&
range.compareBoundaryPoints(content.Range.START_TO_END, nodeRange) == 1;
}
このコードを Firefox バージョン 9 以前で使用すると、コンソールに次のようなエラーが表示されます。ownerDocument is null
ここで何が問題なのか、どうすれば正しく設定できるのか、誰か教えてもらえますか? 古いバージョンのブラウザ用の同等の API はありますか?