2012-03-23 2 views
7

W3C 리소스를 확인하여 정확히 ownerDocument 인 것을 확인하고 작동 원리는 무엇입니까?node.ownerDocument가 window.document가 아닌 경우?

어떤 조건 으로든 테스트 한 결과 node.ownerDocument == window.document입니다. 따라서이 속성이 window.document이 아닌 경우?

설명 할 수 있습니까?

+1

나와 똑같은 질문이 나에게 발생했습니다! –

답변

6

한 가지 방법은 노드가 iframe 또는 secondary browser window에서 가져온 것입니다.

또 다른 방법은 HTTP 소스 via AJAX에서 가져온 XML 문서의 노드입니다.

+0

첫 번째 시나리오가 제대로 보이지 않습니다. 다른 창 내부/iframe 창 개체가 다릅니다. – Mohsen

+1

@ 모센 : 맞습니다. 따라서 외부 문서에 iframe을 가리키는 JS 변수 인 iframe이 있으면 외부 문서에'iframe.contentWindow.document.getElementsByTagName ('body') [0] .ownerDocument === iframe.contentWindow가 표시됩니다. iframe에는 다른 'window' 객체가 있기 때문에 (document가 아닌) * iframe.contentWindow.document.getElementsByTagName ('body ') [0] .ownerDocument === window.document' 'iframe.contentWindow'). 그리고 2 차 브라우저 창과 유사합니다. – ruakh

+0

두 번째 시나리오를 설명해 주시겠습니까? – Jessica

관련 문제