브라우저 객체 모델
브라우저 객체 모델은 웹 브라우저와 관련된 객체의 집합( window, navigator, history, screen, document )으로 웹 브라우저 기능 요소를 직접 관리 / 제어할 수 있는 특별한 객체 모읍입니다.
:: 자바스크립트 프로그래밍 언어를 작동하게 하는 웹 브라우저라는 플랫폼이 제공하는 기능
참고자료
- 모질라 웹 API 문서 -> 바로가기
파이어폭스 웹 브라우저를 만든 모질라에서 제공하는 참고 자료입니다. - Dev Docs -> 바로가기
웹 브라우저에서 확인할 수 있는 참고 자료입니다. 자바스크립트를 포함한 모든 웹 개발과 관련된 문서를 제공합니다. - Zeal Docs -> 바로가기
오프라인 상태에서도 사용할 수 있는 윈도우, 리눅스 전용 참고 자료입니다. 자바스크립트를 포함해 대부분의 프로그래밍 언어, 프레임워크, 라이브러리와 관련된 문서를 제공합니다. - Kapeli -> 바로가기
오프라인 상태에서도 사용할 수 있는 맥 전용 참고 자료입니다. 자바스크립트를 포함한 모든 웹 개발과 관련된 문서를 제공합니다.
브라우저 관련 객체
브라우저 객체 모델( BOM, Browser Object Model )은 웹 브라우저와 관련된 객체의 집합을 의미합니다. 대표적인 브라우저 객체 모델로는 아래와 같으며, window,location, navigator, history, screen, document 객체가 있습니다.
간단하게 문서 객체 모델 ( DOM, Document Object Model )이라 통해서 부릅니다.
window 객체
window 객체의 속성 예
var output = '';
for(let key in window) {
output += 'ㅁ' + key + ': ' + window[key] + '\n';
}
console.log(output);
수많은 속성들이 줄줄이 나타납니다.
:: window 객체는 자바스크립트의 브라우저 기반 최상위 객체입니다. alert(), prompt() 함수 모두 window 객체의 메서드입니다.
기본 변수와 window 객체
var 키워드로 선언한 일반 변수는 모두 window 객체의 속성이 됩니다.
기본 변수와 window 객체 예
var test = 273;
console.log(window.test); // 273
새로운 window 객체 생성
window 객체의 윈도우 생성 메서드
메서드 | 설명 |
open(URL, name, features, replace) | 새로운 window 객체를 생성합니다. |
window 객체의 open() 메서드는 네 개의 매개변수가 있습니다. 입력해도 되고 하지 않아도 되는 매개변수를 옵션이라고 하는데, open() 메서드의 모든 매개변수는 옵션입니다.
open() 메서드 예
window.open()
위 코드를 실행하면 새로운 웹 브라우저 윈도우가 만들어집니다.
open() 메서드의 옵션 사용 예
window.open('http://shiro21.tistory.com', 'child', 'width=600, height=300', true);
코드를 실행시키면 자동으로 주소창에 해당하는 팝업창이 뜹니다.
open() 메서드의 매개변수
- 첫 번째 매개변수 : 열고자 하는 HTML 페이지의 URL
- 두 번째 매개변수 : 윈도우 간 통신하는 데 사용하는 윈도우 이름
- 세 번째 매개변수 : 윈도우를 어떤 모양으로 출력하지 지정하는 옵션
윈도우 형태 옵션 ( 세 번째 매개변수에 사용하는 옵션 )
옵션 | 설명 | 입력 값 |
width | 새 윈도우의 너비 | 픽셀 값 |
height | 새 윈도우의 높이 | 픽셀 값 |
location | 주소 입력창의 유무 | yes, no, 1, 0 |
menubar | 메뉴의 유무 | yes, no, 1, 0 |
resizable | 화면 크기 조절 가능 여부 | yes, no, 1, 0 |
status | 상태 표시줄의 유무 | yes, no, 1, 0 |
toolbar | 상태 표시줄의 유무 | yes, no, 1, 0 |
open() 메서드는 새로운 window 객체를 생성하는 객체입니다. 단지 팝업창을 여는 것에서 끝나지 않고 윈도우 객체를 리턴합니다.
따라서 아래 코드처럼 새로운 윈도우 객체에 접근해 속성과 메서드를 사용할 수 있습니다.
open() 메서드의 리턴 값 예
var child = window.open('', '', 'width=300, height=200');
child.document.write('<h1>window</h1>');
팝업차단
일부 웹 브라우저에서 실행할 때 웹 페이지 오류가 발생하면 팝업창 허용을 누르고 다시 실행합니다.
아래 코드처럼 처리하면 오류 메시지를 제거할 수 있습니다.
인터넷 익스플로러 8 이하의 팝업 차단 검사
var child = window.open('', '', 'width=300, height=200');
if(child) {
child.document.write('window');
} else {
alert('팝업 차단을 해제해주세요');
}
'JavaScript | TypeScript > Javascript 시작하기' 카테고리의 다른 글
[ Javascript ] 웹 API (0) | 2022.06.28 |
---|---|
[ Javascript ] window 객체의 기본 메서드 (0) | 2022.06.27 |
[ Javascript ] underscore 라이브러리 (0) | 2022.06.23 |
[ Javascript ] 화살표 함수를 사용한 Array 객체의 메서드 활용 (1) | 2022.06.23 |
[ Javascript ] JSON 객체 (1) | 2022.06.23 |