我正在开发一个 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?