코딩/자바스크립트

JS / BOM, window

민여 2022. 4. 1. 14:51

공부한 곳:  https://ossam5.tistory.com/224?category=938138 

 

[JS강좌] 14강 BOM - window객체 - 오쌤의 니가스터디

* 객체의 큰 부분 종류 설명 기본내장객체 기본적인 객체들로 보통 컴퓨터 언어들은 갖고 있는 객체 BOM(Browser Object Model) 브라우저오브젝트 모델, 브라우저 관련 객체 DOM(Document Object Model) 문서객.

ossam5.tistory.com

BOM의 객체에는 

window - 브라우저 창 객체, BOM의 최상위 객체 

location - 주소표시줄 객체 

screen - 운영체제 화면 객체 

history - 방문기록 객체

navigator - 브라우저 정보 객체 

document - 문서객체 - body태그 부분 

BOM은 전부 소문자로 쓰는것이 규칙이고 

 

DOM은 BOM의 일부이나 매우 중요하기 때문에 나눠서 본다

 

closed 창이 닫혀 있는지 열려 있는지를 불표현식으로 반환
닫혀 있으면 true반환, 열려 있으면 false반환
innerHeight 창의 콘텐츠 영역 높이를 반환 - 스크롤바나 제목표시줄 등은 제외
innerWidth 창의 콘텐츠 영역 폭을 반환 - - 스크롤바나 제목표시줄 등은 제외
length 현재 창의 아이프레임 개수를 숫자로 반환
outerHeight 창의 모든 인터페이스요소(스크롤바등)을 포함한 높이를 반환
outerWidth 창의 모든 인터페이스요소(스크롤바등)을 포함한 높이를 반환
pageXOffset 현재 문서가 창의 왼쪽에서 얼마나 스크롤되어 있는지를 픽셀수치로 반환
pageYOffset 현재 문서가 창의 위쪽에서 얼마나 스크롤되어 있는지를 픽셀수치로 반환
parent 아이프레임으로 되어 있는 페이지의 부모가되는 페이지를 선택하는 속성
screenLeft 창이 화면 좌측을 기준으로 얼마큼 떨어져 있는지 좌표를 반환
screenTop 창이 화면 상단을 기준으로 얼마큼 떨어져 있는지 좌표를 반환
screenX 창이 화면 좌측을 기준으로 얼마큼 떨어져 있는지 좌표를 반환
screenY 창이 화면 상단을 기준으로 얼마큼 떨어져 있는지 좌표를 반환
self 현재 창을 반환
top 현재 창의 최상위 브라우저 창을 반환
메서드 종류 설명
close() 창을 닫는 메서드 - 매개변수는 없음
moveBy(x,y) 창을 상대적으로 이동시키는 메서드
moveTo(x,y) 창을 절대적으로 이동시키는 메서드
open(url,name,specs,replace) 새창 혹은 새탭으로 창을 여는 메서드
print() 현재 창을 인쇄할수 있는 창을 띄워주는 메서드
resizeBy(w,h) 창 사이즈를 상대적으로 변경시키는 메서드
resizeTo(w,h) 창 사이즈를 절대적으로 변경시키는 메서드
scrollBy(x,y) 창의 스크롤바 위치를 상대적으로 이동시키는 메서드
scrollTo(x,y) 창의 스크롤바 위치를 절대적으로 이동시키는 메서드
stop() 창이 로드되는 것을 멈추는 메서드 - ie 및 edge는 사용 불가능

## 매개변수의 종류

매개변수 종류 설명

URL 창으로 띄울 주소를 담는 매개변수
name 창이 띄워질 위치(대상)을 지정하는 매개변수
name 값 _blank url의 주소가 새창 혹은 새탭으로 띄워짐 - 기본값
_parent 아이프레임의 부모가 되는 페이지로 url주소가 띄워짐
_self 현재 페이지로 url주소가 띄워짐 => 주소가 바뀜
_top 로드되는 모든 frameset으로 url주소가 띄워짐
name 새창으로 띄워진 곳의 이름을 작성하면 그곳에서 url주소가 띄워짐
specs 띄워지는 창에 대한 옵션을 설정, 쉼표로 아이템을 구분해서 작성

window.open('주소'.'_blank','옵션=값,옵션=값',true);
specs 값
(대부분의 값은
yes|no|1|0으로 지정하면 된다.)
(위치나 크기는 수치만 적고 픽셀단위로 인정된다)





channelmode 극장 모드로 띄울지를 지정하는 옵션, IE만 가능
directories 디렉토리 버튼 추가 여부, IE만 가능하고 구버전들에게만 있음
fullscreen 풀스크린모드로 띄울지를 지정하는 옵션, IE만 가능
height 창의 높이를 지정하는 옵션, 최소값은 100으로 처리
left 창의 왼쪽 좌표를 지정하는 옵션, 음수는 지정되지 않음
location 주소표시줄을 표시할지 지정하는 옵션, 오페라브라우저에만 사용가능
menubar 메뉴바를 표시할지 지정하는 옵션
resizable 창사이즈를 변경하지 지정하는 옵션, IE만 가능
scrollbars 스크롤바를 표시할지 지정하는 옵션, IE, Firefox, Opera가능
status 상태표시줄을 표시할지 지정하는 옵션
titlebar 타이틀바를 표시할지 지정하는 옵션
toolbar 브라우저 툴바를 표시할지 지정하는 옵션, IE와 Firefox만 가능
top 창의 상단 좌표를 지정하는 옵션, 음수는 지정되지 않음
width 창의 가로폭을 지정하는 옵션, 최소사이즈는 100으로 처리
replace url로 작성한 주소를 새항목으로 만들지, history 목록의 현재 항목으로 대체할지를 지정
- true : history목록의 현재 문서로 대체
- false : 주소를 새 항목으로 대체

 

 

window.open('주소','','width=300,height=300'); 

//name값은 생략해서 새창으로 뜨도록 설정             

//specs는 가로와 세로값만 설정해봤습니다.

 

setTimeout(funtion(){

   newWindow.close();

},3000);

 

//3초후에 창닫김

----------------------------------------------------------

var newWindow = window.open('','','width=300,height=300');

newWindow.resizeTo(500,500); // 단위 작성하지 않으며 창을 절대적사이즈로 지정하여 키운 부분

setInterval(function(){

  newWindow.resizeby(20,20);

},1000);                          //1초마다 20px씩 키우기