전구 모양(💡) 이모티콘은 공부하면서 깨달은 부분을 적어두었습니다.
< 10-1 브라우저 객체 모델이란? >
- 문서 객체 모델(DOM) : 웹 '문서'에 삽입된 각 요소를 객체로 인식하고 조작하는 것
- 브라우저 객체 모델(Browser Object Model) : 웹 '브라우저' 전체를 객체로 관리하는 것
* 자바스크립트 프로그램을 통해 브라우저 창을 관리할 수 있도록 브라우저 요소를 객체화해 놓은 것
- 브라우저 창이 열리면 ① Window 객체가 생성되고,
② 그 하위에 브라우저 각 요소에 해당하는 객체가 생성됨
이 하위 객체는 웹 문서와 주소 표시줄처럼 브라우저의 각 요소에 해당하는 객체이며
각각 또 다른 하위 객체를 갖고 있음
- 최상위에 있는 Window 객체를 시작으로 하는 객체 모델 계층도
* 웹 문서에 해당하는 Document 객체는 웹 문서를 관리하고 수정할 때 '문서 객체 모델(DOM)'을 사용
- 자주 사용하는 브라우저 내장 객체
< 10-2 웹 브라우저를 제어하는 Window 객체 >
- Window 객체 : 웹 브라우저 창의 상태를 제어하는 객체
* 자바스크립트 객체 중 최상위이자 기본이 되는 객체
예) 웹 브라우저의 정보 가져오기, 값 바꾸기 등
- Window 객체의 속성 알아보기 [링크]
* Window 객체의 모든 속성과 브라우저 호환 여부에 대해서는 위의 링크를 클릭
- Window 객체의 몇 가지 속성 예제
* inner~ : 내용 영역의 높이 혹은 너비
* outer~ : 브라우저 창의 바깥 높이 혹은 너비
- Window 객체의 함수
* alert()나 prompt()는 사실 Window 객체의 함수
* 원래는 window.alert()라고 써도 사용할 수 있지만
Window 객체는 기본 객체이기 때문에 window. 생략 가능!
- 모달 창(Modal Window)이란?
: 현재 브라우저 창 위에 띄우는 새로운 창
예) 이벤트 정보, 공지사항 등
: 일반적인 알림 창이 웹 브라우저 창을 새로 여는 것이라면
모달 창은 문서 소스 안에 <div> 태그를 사용해 삽입하고 레이어로 표시한 창
: 웹 브라우저에서 알림 창을 차단하더라도 모달 창은 화면에 표시 가능!
- 새 창을 여는 open()
💡 꼭 https:// 까지 쳐줘야 함!
// 서식
// ┌ 새 창의 Target이나 윈도우 이름을 지정하는 부분
window.open("사이트명", "", "");
// └ 알림 창으로 표시할 때의 너비나 높이, 위치 등을 지정하는 옵션
window.open("www.daum.net"); // 새 창은 뜨지만 빈 화면으로 출력
window.open("https://www.daum.net"); // 새창 + 해당 사이트도 출력
- open()의 크기 조절
* resizeBy() : 현재 브라우저 창의 크기를 기준으로 너비와 높이에 값을 더함 (음수 값 사용 가능)
* resizeTo() : 최종 크기 (음수 값 사용 불가능)
var newWin = window.open("", "", "width=300, height=300");
// resizeBy() 예
newWin.resizeBy(100, 100);
newWin.resizeBy(-100, -100);
// resizeTo() 예
newWin.resizeTo(200, 200);
- open()의 위치 조절
* moveBy() : 현재 위치를 기준
* moveTo() : 화면 왼쪽 위 모서리를 기준
* 둘 다 x, y 크기를 매개변수로 사용
💡 현재(21.12.16) 최신 업데이트를 기준으로
크롬(Chrome), Microsoft Edge에서는 정책상의 이유로 진행할 수 없습니다.
테스트를 해보고 싶으시다면 Internet Explorer로 해보세요!
< 10-3 브라우저 정보가 담긴 Navigator 객체 >
- Navigator 객체 : 웹 브라우저와 관련된 정보가 담겨있음
* 웹 브라우저 버전, 설치된 플러그인, 오프라인/온라인 상태 등
- 렌더링 엔진(Rendering Engine) : 브라우저에서 웹 문서를 화면에 표시하기 위해
웹 문서의 태그와 스타일을 해석하는 프로그램
* Navigator 객체는 렌더링 엔진의 이름을 보고 웹 브라우저 종류를 구별
* 레이아웃 엔진(Layout Engine)이라고도 함
- 브라우저별 렌더링 및 자바스크립트 엔진
브라우저 | 렌더링 엔진 | 자바스크립트 엔진 |
Chrome | Blink | V8 |
FireFox | Gecko | SpiderMonkey |
Internet Explorer | Trident | Chakra |
Safari | Webkit | JavascriptCore |
Opera | Blink | V8 |
- Navigator 객체의 속성
* 브라우저 버전이나 플랫폼(OS) 정보를 갖고 있는데
이 정보는 수정할 수 없고 볼 수만 있음
* Navigator 객체의 주요 속성
< 10-4 그 밖의 브라우저 객체들 >
- History 객체
* 브라우저에서 '뒤로', '앞으로' 또는 주소 표시줄에 입력한 기록한 사이트 주소가 저장됨
* 보안 때문에 읽기 전용
- Location 객체
* 브라우저의 주소 표시줄과 관련된 객체
- Screen 객체
* 웹 사이트에 접속하는 사용자의 화면 크기나 정보를 알고 싶을 때 사용하는 객체
* Screen 객체의 속성과 함수
속성 | 설명 |
availHeight | 화면에서 윈도우 작업 표시줄이나 맥의 메뉴/독 같은 UI 영역을 제외한 부분의 높이를 표시 |
availWidth | UI 영역을 제외한 부분의 너비를 표시 |
colorDepth | 화면상에서 픽셀을 렌더링할 때 사용하는 색상 수를 표시 |
height | UI 영역을 포함한 화면의 높이를 표시 |
orientation | 화면의 현재 방향을 표시 (기본 : 가로 방향) |
pixelDepth | 화면상에서 픽셀을 렌더링할 때 사용하는 비트 수를 표시 |
width | UI 영역을 포함한 화면의 너비를 표시 |
함수 | 설명 |
lockOrientation() | 화면 방향을 잠금 |
unlockOrientation() | 화면 방향 잠금을 해제 |
기본 문법 공부는 끝!
이지스퍼블리싱 홈페이지의 [실전 프로젝트]를 다운로드해서 실습을 도전해봐야겠다!!
'Programming > javascript' 카테고리의 다른 글
[9일차] Do it! 자바스크립트 입문 / 09 폼과 자바스크립트 (0) | 2021.12.15 |
---|---|
[7~8일차] Do it! 자바스크립트 입문 / 08 웹 문서를 다루는 방법, 문서 객체 모델(DOM) (0) | 2021.12.13 |
[6일차] Do it! 자바스크립트 입문 / 07 배열을 쉽게 다루자! Array 객체 (0) | 2021.12.11 |
[5일차] Do it! 자바스크립트 입문 / 06 여러 자료를 한꺼번에 담는 객체 (0) | 2021.12.10 |
[4일차] Do it! 자바스크립트 입문 / 05 함수와 이벤트 (0) | 2021.12.06 |