contentWindow property는 frame 이나 iframe 에 의해 생성된 Window 객체를 말한다
이를 통하여 생성된 frame 에 접근하고, 해당 윈도우에 포함된 document 에 접근가능하며,
또한, document 내의 각 element 에도 접근할 수 있다.
<body>
<iframe id="iframe_id" src="b.html">
</iframe>
</body>
a페이지 내에 ifrmae 이 있고, 그 iframe 에 b.html 페이지가 로드된 경우, 아래와 같이 접근이 가능하다.
document.getElementById('iframe_id').contentWindow.document
.getElementById("element_id")
또는,
document.getElementById('iframe_id').contentWindow.document.폼아이디.엘리먼트아이디.value
w3schools 에서 제공하는 Try it Editor 가 바로 이런방식으로 프레임객체를 사용하고 있다.
이때, 주의할 사항이 있다.
Internet Explorer 8 (그 이상)은 !DOCTYPE이 명시된 경우만 contentDocument property를 지원한다.IE의 이전 버전에 대해, contentWindow property를 사용한다.
그러그로, 아래와 같이 조건에 따라 코딩을 하게되면, Internet Explorer 버전과 상관없이 해당 Content 에 접근할 수 있게된다.
var ifrw = (ifr.contentWindow) ? ifr.contentWindow : (ifr.contentDocument.document) ? ifr.contentDocument.document : ifr.contentDocument;
1)
contentWindow 가 있을경우 contentWindow 를 반환한다.
2) contentWindow 가 없을경우 contentDocument.document 를 반환한다.
3)
contentDocument.document 가 없을경우 contentDocument 를 반환한다.
Bootstarp Framework (부트스트랩 프레임워크) 살펴보기 (0) | 2016.07.31 |
---|---|
웹에서 업로드된 nobody 파일 삭제하기.... (0) | 2016.07.29 |
마우스 오른쪽 버튼 금지하기 captureEvents(), right click (0) | 2016.07.25 |
JavaScript HTML DOM EventListener 이벤트 리스너, 버블링, 캡처링 (0) | 2016.07.25 |
HTML DOM 함수 createElement(), appendChild() createTextNode() (0) | 2016.07.25 |
댓글 영역