JavaScript

[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)

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Basic JS - Home (JS입문) + Javascript Framework (프레임워크) 종류
Basic JS - Intro (JS소개)
Basic JS - Where To (JS위치) - JS구문 / JS코드위치 / JS사용법 ※ JS외부링크 주의사항
Basic JS - Output (JS출력= JS쓰기) ★★★★★
Basic JS - Syntax (JS구문) ★
Basic JS - Statement (JS구문= JS명령문)
Basic JS - Comment (JS주석)
Basic JS - Variable (JS변수) ★★★★★
Basic JS - Operator (연산자) - JS연산자 ★★★★★
Basic JS - Data Type - 데이터유형 ★★★★★ (= 데이터형식 = 데이터타입 = 데이터종류 = 자료형…
Basic JS - Function - JS함수 ★★★★★ ※ 일반함수 특징 2
Basic JS - Object - JS객체 ★★★★★
Basic JS - Scope - JS유효범위 (= JS접근범위 = 변수 종류) ★★★★★★★★★★
Basic JS - Event - JS이벤트 (= JS코드실행방법) ★★★★★
Basic JS - Strings - JS문자열
1/89
목록
 홈  PC버전 로그인 일본어
웹디자인언어 1
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 7
웹유틸
회원센터
홈짱 PC버전 로그인