node的ownerDocument属性为null

时间:2012-08-31 12:14:37

标签: javascript dom firefox-addon

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