0
주어진 노드가 웹 페이지의 선택 범위와 교차하는지 찾기 위해 Firefox 확장 프로그램을 만들고 있습니다. 나는 파이어 폭스 버전 9 이하에서이 코드를 사용하는 경우node의 ownerDocument 속성이 null입니다.
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;
}
, 나는 ownerDocument is null
사람이 무엇이 잘못되었는지 말해 수 말한다 콘솔에서 오류가 발생합니다 :이를 위해, 나는 다음과 같은 코드를 사용하고 여기에 내가 어떻게 바르게 설정할 수 있니? 이전 버전의 브라우저에 해당하는 API가 있습니까?
감사합니다. 그러나이 코드를 최신 브라우저 (Firefox 10 이상)에서 실행하면이 오류가 발생하지 않습니다. 나는 그 이유를 알 수 없었다. –
@quad_damage : 그럼에도 불구하고'node'가 문서인지 어떻게 확인하나요? 우리는 왜 파이어 폭스 10에서 코드가 작동하는지 알지 못합니다. (그 이유는 여러분이 보여준 코드 스 니펫 밖일 수 있습니다.) 질문에 대한 답을 얻었습니다. 즉'node.ownerDocument'가'null 일 수있는 방법 '. 더 자세히 조사하는 것은 당신에게 달려 있습니다. –
감사합니다. 나는 그것을 더 자세히 조사 할 것이다. –