2012-03-23 16 views
7

Tôi đang xem tài nguyên MDNW3C để tìm hiểu chính xác là ownerDocument và cách hoạt động?Khi node.ownerDocument không phải là window.document?

Như tôi đã thử nghiệm trong bất kỳ điều kiện nào node.ownerDocument == window.document. Vì vậy, khi tài sản này không phải là window.document?

Bạn có thể giải thích nó không?

+1

Câu hỏi tương tự đã xảy ra với tôi! –

Trả lời

6

Một cách là nếu nút được lấy từ iframe hoặc secondary browser window.

Một cách khác là nếu đó là nút từ tài liệu XML thu được từ nguồn HTTP via AJAX.

+0

Kịch bản đầu tiên có vẻ không đúng. Bên trong một cửa sổ khác/khung nội tuyến đối tượng là khác nhau. – Mohsen

+1

@Mohsen: Đúng, chính xác. Vì vậy, nếu tài liệu bên ngoài có một biến JS có tên là 'iframe' trỏ đến khung nội tuyến, thì tài liệu bên ngoài sẽ thấy' iframe.contentWindow.document.getElementsByTagName ('body') [0] .ownerDocument === iframe.contentWindow. document', * not * 'iframe.contentWindow.document.getElementsByTagName ('body') [0] .ownerDocument === window.document', vì khung nội tuyến có một đối tượng' window' khác (mà tài liệu bên ngoài đề cập đến là 'iframe.contentWindow'). Và, tương tự với các cửa sổ trình duyệt phụ. – ruakh

+0

Bạn có thể giải thích kịch bản thứ hai không? – Jessica

Các vấn đề liên quan