본문 바로가기
개발자 양성과정 필기노트/JavaScript

브라우저객체모델 BOM

by jono 2021. 8. 4.

JSP  ||  DAY6  ||  브라우저객체모델 BOM


 1. 브라우저 객체 모델 BOM ? 

: 웹브라우저에 내장된 객체를 뜻한다.

 

# 계층구조

window - 1) document  -1 body

                                -2 div

                                -3 img

                                -4 a

                                -5 form

                                -6 input

           - 2) screen

           - 3) location

           - 4) history

           - 5) navigator

 

 2. window 객체? 

- 웹브라우저객체 BOM의 최상위 객체.

# window객체의 메서드 종류
1. open( ) - 새 브라우저 창을 띄움 / 팝업창 - 기본문법: window.open( 팝업창경로, 팝업창이름 , 옵션 ) ;
     * 옵션 종류
       width 팝업창 너비  /  height 팝업창 높이  /  location 팝업창의 url영역 노출여부(숨김 =no, 노출=yes)
       scrollbars 스크롤바 유무 (숨김 =no, 노출=yes)

2. alert( "경고메세지" ) : 경고창을 띄울 때 사용

3. prompt( "질의내용" , "기본값" ) : 질의응답창을 띄울때사용.

4. confirm( "묻는 내용") : 확인/취소 버튼이 있는 확인창을 띄울때사용.

5. moveTo( X , Y ) : 브라우저창의 위치를 이동시킬 때 사용. (단, 크롭, 오페라에서는 정상작동X)
   ex) moveTo(100,200) // x축 100px, y축 200px만큼 이동시킴

6. resizeTo( 너비 , 높이 ) : 웹브라우저창의 너비와 높이를 바꿀 때 사용
   ex) window.resizeTo(200,300) : 창의 너비 200px, 높이 300px로 바꿈.

7. setInterval( "반복할 실행문", 밀리초 )
: 일정한 시간간격으로 자바스크립트 실행문을 반복하여 실행시킬때 사용한다.
   ex) 일정시간 간격으로 사진바꾸기, 슬라이드 배너 등
   ex) var t = setInterval("i++" , 3000);   =>  3000밀리초마다 i를 1씩 증가시킴
     *** 참조변수 t는 setInterval 메서드를 스택공간에서 제거할때 사용한다

8. clearInterval( setInterval을 사용한 참조변수 );
: setInterval() 실행코드를 취소할 때 사용한다.
  ex) var t = setInterval("i++",3000);
       clearInterval(t);

9. setTimeout( "실행문", 밀리초 )
: 일정한 시간간격으로 자바스크립트 실행문을 !한번만! 실행시킨다.
  하지만, 이 메서드 또한 재귀함수호출을 통해 setInterval( )처럼 반복해서 실행이 가능하다.
  ex) var t = setTimeout( "console.log(i++)", 3000 );   => 3초 휴식 후 단 한번만 i를 1증가시켜 콘솔창에 출력.

10. clearTimeout( setTimeout을 사용한 참조변수 )
: setTimeout( )의 실행코드를 취소할때 사용함.
  ex) var t = setTimeout( "console.log(i++)", 3000 );
       clearTimeout( t );

# 예제1

버튼을 클릭했을 때, moveTo( ) 와 resizeTo( ) 메서드를 적용하여 팝업창의 위치, 너비 바꾸기

<head>
	<script type="text/javascript">
		var pop = window.open("winpopup.html","POP1","width=300, 
              	  height=400, left=300, top=10, location=no, scrollbars=yes")	
	</script>
</head>


<body>
	<p>  <!-- 팝업창위치를 변경시키기 -->
	<button onclick="pop.moveTo(200,300); pop.focus();"> 브라우저 위치 변경하기 </button>
	</p>
		
	<p>  <!--  팝업창너비 바꾸기, focus( ) 메서드 적용하기 -->
	<button onclick="pop.resizeTo(200,300); pop.focus();"> 브라우저 크기 변경하기 </button>
	</p>	
</body>

# 예제2

setInterval( ) 과 clearInterval( ) 활용하기

<head> 
 	<script type="text/javascript">
 // setInterval() 메서드를 이용하여 3초마다 변수 i의 데이터를 1씩 증가시키고, 자바스크립트 콘솔창에 띄우기
    var i = 0;
    var auto = setInterval("console.log(i++);", 3000);	
 	</script>
</head>

<body>
<!--  정지버튼 클릭시 auto 변수에 저장된 setInterval() 메서드 삭제하기 -->
	<button onclick="clearInterval(auto)">정지</button>
</body>

# 예제3

1초단위로 업데이트되는 현재 시각정보를 브라우저에 나타내기

<head>
<script type="text/javascript">
	// printTime이라는 이름의 함수 만들기
		function printTime(){
			
	//현재 날짜와 시간정보를 제공해주는 Date객체메서드를 호출해 현재 날짜와 시간정보를 얻기.
		var now = new Date();
		var year = now.getFullYear();
		var month = now.getMonth() + 1;  // ***월은 1씩 적게 나옴에 주의
		var date = now.getDate();
		var day = now.getDay();
		var hours = now.getHours();
		var minutes = now.getMinutes();
		var seconds = now.getSeconds();			
			
	// <body> 태그 사이에 있는 <span> 요소를 선택해서 가져와 clock변수에 저장하기
		var clock = document.getElementById("clock")
			
	// 위 clock변수에 저장된 <span> 요소의 텍스트위치에 현재 시각정보를 출력하기 => 요소id.innnterHTML
		clock.innerHTML = year + "년 "+ month+ "월 " + date + "일 " 
				+ hours + "시 " + minutes + "분 " + seconds + "초 !!!";
		
	// 1초간격으로 시간을 업데이트 하고싶다면? => setTimeout() 메서드를 1초단위의 재귀함수로 호출하기.
		setTimeout("printTime();", 1000);
	}
		
			
	// 브라우저(window객체)가 win_ob4.html 내부의 모든 html 태그들을 읽어들였을떄,  : .onload()
	// printTime() 함수를 호출하기
		window.onload = function( ){   // 이벤트처리함수를 생성함
			printTime();
		}    

</script>


</head>
<body>
	현재 시각은 >> <span id='clock'></span>
</body>

 2-2. Window - screen 객체 

: 사용자의 모니터속성을 반환하는 객체. ( 모니터 너비, 높이, 컬러비트 등)

 

# 기본문법

screen.속성;

 

# screen객체 속성의 종류

screen.width     : 모니터화면의 너비를 반환
screen.height    : 모니터의 높이를 반환

screen.availWidth      : 작업표시줄을 제외한 모니터화면의 너비를 반환
screen.availHeight     : 작업표시줄을 제외한 모니터화면의 높이를 반환

screen.colorDepth     : 사용자의 모니터가 표현가능한 컬러bit를 반환

 2-2. Window - location 객체 

: 사용자 브라우저의 url 속성과 새로고침 메서드를 제공함.

 

# 기본문법

location.속성;
location.메서드( );

 

# location객체 속성의종류

location.href      : 주소영역에 주소를 설정하거나, 주소를 받아올 수 있음
location.hash     : 주소에 #으로 명시된 값을 반환한다.
location.port      : 주소에 작성한 포트번호를 반환.
location.search   : 주소의 요청값(aka 쿼리)을 반환받음
location.hostname    : 주소에 호스트 이름을 설정 또는 반환.
location.protocol      : 주소의 http프로토콜을 반환함.

location.reload( )    : 새로고침

 

'개발자 양성과정 필기노트 > JavaScript' 카테고리의 다른 글

제이쿼리 선택자  (0) 2021.08.25
History객체, 문서객체모델 ( DOM )  (0) 2021.08.10
Math메서드, 배열메서드  (0) 2021.08.03
재귀함수, 내장객체  (0) 2021.08.02
조건문  (0) 2021.07.29

댓글