• 회원가입
  • 로그인
  • 구글아이디로 로그인

[js] JS - contentWindow 속성 - iframe (아이프레임)에 의해 생성된 window 객체 반환 (= contentWindow속성 = 컨텐트윈도우속성) ※ 아이프레임 (배경색/높이) 자동 설정

목차

  1. contentWindow 예제 - iframe 배경색 변경
  2. contentWindow 정의
  3. contentWindow 구문
  4. contentWindow 예제 - iframe 높이 자동 설정

 

contentWindow 예제 - iframe 배경색 변경

[방법1] - contentWindow 속성이나 contentDocument 속성으로 체크

 

<iframe id="hz" src="hz.html"></iframe>


<p id="demo"></p>


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var x = document.getElementById("hz");

  var y = (x.contentWindow || x.contentDocument);

  if(y.document) y = y.document;

  y.body.style.backgroundColor = "yellow";

}

</script>

 


[방법2] - contentWindow 속성만으로 체크

 

<iframe id="hz" src="hz.html"></iframe>


<p id="demo"></p>


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var x = document.getElementById("hz");

  var y = x.contentWindow.document;

  y.body.style.backgroundColor = "yellow";

}

</script>

 

 

contentWindow 정의

 

iframe 요소에 의해 생성된 window 객체를 반환.

 


 

1.

window 객체를 통해 document 객체에 접근 후 document 객체의 요소 중 하나에 접근 가능.

 

2. cf.

contentDocument 속성 - iframe에 의해 생성된 document 객체 반환.

 

3.

모든 브라우저 지원.

 

4. MDN contentWindow 예제보기

https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow

 

 

contentWindow 구문

 

iframeObject.contentWindow

 


[반환값]

 

해당 window 객체에 대한 참조.

 

 

contentWindow 예제 - iframe 높이 자동 설정

 

<iframe id="hz" src="hz.html" onload="autoResize(this)" scrolling="no" frameborder="0" width="100%"></iframe>


<script>

// iframe resize

function autoResize(i) {

    var iframeHeight = i.contentWindow.document.body.scrollHeight;

    i.style.height = iframeHeight + 100 + 'px';

}

</script>

 


cf. jQuery 사용 경우 

 

<script src="https://code.jquery.com/jquery-latest.js"></script>


<iframe id="hz" src="hz.html"></iframe>


<script>

$('#hz').on('load', function() {

    this.style.border='none';

    this.style.overflow='hidden';

    this.style.height=(this.contentWindow.document.body.scrollHeight)+100+'px';

});

</script>

 

제이앤 님 (240222) https://sir.kr/qa/526153 (JS)

개노미 님 (221222) https://sir.kr/qa/483934 (jQuery)


분류 제목
js JS - 숫자를 한글로 읽기/변환
js JS - 숫자 천자리 표시 기호 쉼표(콤마) 제거 함수 (= getInt함수 = 겟인트함수)
js JS - 랜덤이미지 (= 랜덤배너)
js JS - 텍스트 첫글자만 글자색 변경 (= 맨앞글자 색상 변경)
js JS - 자바스크립트 성능 향상 위한 코드 작성법 (= JavaScript Performance)
DOM_Style JS - aspectRatio 속성 - 요소의 종횡비율(= 가로세로비율) 지정 (= aspectRatio속성…
js JS - with 키워드 - 객체 이용해 구문작성 (= with키워드 = 위드키워드)
js JS - 입력한 패스워드 확인 (보이기/숨기기) 토글 버튼 넣기
js JS - JavaScript로 (SlideUp/SlideDown) (FadeOut/FadeIn) 토글 버튼 …
DOM_Element JS - outerHTML 속성 - 속성, 시작태그, 종료태그 포함한 HTML 요소 설정/반환 (= oute…
Array JS - includes() 메서드 - 배열에 지정값 포함 여부 검사체크 (= includes메서드 = 인클…
js JS - 이미지 위에 마우스허버 시 툴팁창(Tooltip) 띄우기 ※ 클래스 속성값과 동일한 타이틀 속성 생…
Array JS - at() 메서드 - 지정 색인번호의 배열값 반환 (= at메서드 = 엣메서드/앳메서드)
Array JS - entries() 예제 - 객체배열반복자 반환 (= entries메서드 = 엔트리즈메서드)
Array JS - flat() 예제 - 배열 평탄화 (= flat메서드 = 플랫메서드) ※ 중첩배열(=다단계배열)의 …
Array JS - flatMap() 메서드 - 배열 매핑 후 지정함수 적용한 새 평면배열 생성 (= flatMap메서…
Array JS - Array.from() 메서드 - 객체로부터 배열 생성 (= Array.from메서드 = 어레이프럼…
Array JS - keys() 메서드 - 배열키로 구성된 배열 반환 (= keys메서드 = 키즈메서드)
Math JS - Math.log2() 메서드 -
Math JS - Math.log10() 메서드 -
66/67
목록
찾아주셔서 감사합니다. Since 2012