3

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

4

1 回答 1

3

如果在本身是文档的节点上使用此属性,则结果为空。

另请参阅: Dom 2 规范

于 2012-08-31T12:19:30.970 回答