Window
======

**`Window`** 인터페이스는 DOM 문서를 담은 창을 나타냅니다. `document` 속성이 창에 불러온 DOM 문서를 가리킵니다.

주어진 문서의 창은 `document.defaultView`를 사용해 접근할 수 있습니다.

현재 스크립트가 작동 중인 창을 나타내는 전역 변수 `window`를 JavaScript 코드에서 접근할 수 있습니다.

`Window` 인터페이스는 다양한 함수, 이름공간, 객체, 생성자가 머무는 장소입니다. 그 중엔 사용자 인터페이스로서의 창 개념과는 직접 관련되지 않은 것도 존재하며, 대신 전역적으로 접근할 수 있어야 하는 항목에 적합합니다. 많은 수의 항목이 JavaScript 참고서와 DOM 참고서에 문서화되어 있습니다.

탭 기능이 있는 브라우저에서는 각각의 탭을 각각의 `Window` 객체로 나타냅니다. 주어진 탭에서 동작 중인 JavaScript 코드의 전역 `window` 객체는 항상 자신의 탭을 나타냅니다. 그렇지만 `resizeTo()`와 `innerHeight`처럼, 일부 속성과 메서드는 탭이 아니라 창에 적용됩니다. 보통 탭과 합리적으로는 연관 지을 수 없는 경우 창에 속합니다.

EventTarget

Window인스턴스 속성
-------

`EventTarget` 인터페이스의 속성을 상속합니다.

`Window.caches` (en-US) 읽기 전용

현재 컨텍스트와 연관된 `CacheStorage` (en-US) 객체를 반환합니다. `CacheStorage`는 오프라인에서의 사용을 위한 자산 저장과, 요청에 대한 사용자 정의 응답을 생성할 때 사용할 수 있습니다.

`Window.clientInformation` 읽기 전용

`Window.navigator`의 별칭입니다.

`Window.closed` 읽기 전용

현재 창이 닫혔는지 나타냅니다.

`Window.console` 읽기 전용

브라우저 디버깅 콘솔에 접근할 수 있는 콘솔 객체를 반환합니다.

`Window.credentialless` (en-US) 읽기 전용 
Experimental

비표준

현재 문서가 자격 증명 없는 `<iframe>` (en-US) 내에서 불러와졌는지 나타내는 불리언입니다. IFrame credentialless에서 자세한 정보를 확인하세요.

`Window.crypto` 읽기 전용

브라우저 암호화 객체를 반환합니다.

`Window.customElements` 읽기 전용

새로운 사용자 정의 요소를 등록하거나 이전에 등록한 요소에 대한 정보를 얻을 수 있는, `CustomElementRegistry` 객체의 참조를 반환합니다.

`Window.devicePixelRatio` 읽기 전용

현재 화면에서의 물리적 픽셀과 CSS 픽셀의 비율을 반환합니다.

`Window.document` 읽기 전용

창이 포함하는 문서로의 참조를 반환합니다.

`Window.frameElement` 읽기 전용

이 창을 삽입했을 때 사용한 요소를 반환합니다. 창이 문서 내에 삽입된 것이 아니면 `null`을 반환합니다.

`Window.frames` (en-US) 읽기 전용

현재 창의 하위 프레임을 배열로 반환합니다.

`Window.fullScreen` (en-US) 
비표준

현재 창을 전체 화면으로 보여주고 있는지 나타냅니다.

`Window.history` 읽기 전용

`History` 객체 참조를 반환합니다.

`Window.indexedDB` (en-US) 읽기 전용

인덱싱된 데이터베이스로의 비동기적 접근 기능을 제공하는 `IDBFactory` (en-US) 객체를 반환합니다.

`Window.innerHeight` 읽기 전용

브라우저 창의 콘텐츠 영역 높이를 반환합니다. 수평 스크롤바가 존재하면 그 높이도 포함합니다.

`Window.innerWidth` 읽기 전용

브라우저 창의 콘텐츠 영역 너비를 반환합니다. 수직 스크롤바가 존재하면 그 높이도 포함합니다.

`Window.isSecureContext` (en-US) 읽기 전용

현재 컨텍스트가 안전한지 (`true`) 안전하지 않은지 (`false`) 나타내는 불리언을 반환합니다.

`Window.launchQueue` (en-US) 읽기 전용 
Experimental

PWA에서, `launch_handler` (en-US) `client_mode`의 값이 `focus-existing`, `navigate-new`, `navigate-existing` 중 하나라면, `launchQueue`는 `LaunchQueue` (en-US) 클래스로의 접근을 제공합니다. `LaunchQueue`를 활용하면 PWA의 실행 탐색 처리를 직접 구현할 수 있습니다.

`Window.length` 읽기 전용

창 내의 프레임 수를 반환합니다. `window.frames` (en-US)도 확인하세요.

`Window.location` (en-US)

창의 위치, 즉 현재 URL을 가져오거나 설정합니다.

`Window.locationbar` (en-US) 읽기 전용

`locationbar` 객체를 반환합니다.

`Window.localStorage` 읽기 전용

현재 출처에서만 접근하여 데이터를 저장할 수 있는 로컬 저장소 객체를 반환합니다.

`Window.menubar` (en-US) 읽기 전용

`menubar` 객체를 반환합니다.

`Window.mozInnerScreenX` (en-US) 읽기 전용 
비표준

창의 뷰포트 왼쪽 위 꼭짓점 X축 좌표를 화면 좌표계 기준으로 반환합니다. 이 값은 CSS 픽셀 단위입니다. 화면 픽셀로 변환이 필요하면 `nsIDOMWindowUtils`의 `mozScreenPixelsPerCSSPixel`에서 변환비를 가져올 수 있습니다.

`Window.mozInnerScreenY` (en-US) 읽기 전용 
비표준

창의 뷰포트 왼쪽 위 꼭짓점 Y축 좌표를 화면 좌표계 기준으로 반환합니다. 이 값은 CSS 픽셀 단위입니다. 화면 픽셀로 변환이 필요하면 `nsIDOMWindowUtils`의 `mozScreenPixelsPerCSSPixel`에서 변환비를 가져올 수 있습니다.

`Window.name`

창의 이름을 가져오거나 설정합니다.

`Window.navigation` (en-US) 읽기 전용 
Experimental

`window`의 `Navigation` (en-US) 객체를 반환합니다. Navigation API (en-US)의 진입점입니다.

`Window.navigator` 읽기 전용

`Navigator` 객체의 참조를 반환합니다.

`Window.opener`

현재 창을 연 창의 참조를 반환합니다.

`Window.origin` (en-US) 읽기 전용

전역 객체의 출처를 문자열로 직렬화해 반환합니다.

`Window.outerHeight` (en-US) 읽기 전용

브라우저 창 외곽 높이를 반환합니다.

`Window.outerWidth` 읽기 전용

브라우저 창 외곽 너비를 반환합니다.

`Window.pageXOffset` 읽기 전용

`window.scrollX`의 별칭입니다.

`Window.pageYOffset` 읽기 전용

`window.scrollY`의 별칭입니다.

`Window.parent` (en-US) 읽기 전용

현재 창 또는 하위 프레임의 부모 참조를 반환합니다.

`Window.performance` (en-US) 읽기 전용

`Performance` (en-US) 객체를 반환합니다. 이 객체의 `timing` (en-US), `navigation` (en-US) 특성 등은 각각 성능 관련 데이터를 제공하는 객체입니다. 탐색 타이밍 사용하기 (en-US)에서 추가 정보와 예제를 확인하세요.

`Window.personalbar` (en-US) 읽기 전용

`personalbar` 객체를 반환합니다.

`Window.scheduler` (en-US) 읽기 전용

현재 컨텍스트와 연관된 `Scheduler` (en-US) 객체를 반환합니다. Prioritized Task Scheduling API (en-US)의 진입점입니다.

`Window.screen` (en-US) 읽기 전용

이 창에 연관된 화면 객체를 반환합니다.

`Window.screenX` (en-US), `Window.screenLeft` (en-US) 읽기 전용

두 속성 모두 사용자의 브라우저 뷰포트의 왼쪽 테두리와 화면 왼쪽 모서리의 거리를 반환합니다.

`Window.screenY` (en-US), `Window.screenTop` (en-US) 읽기 전용

두 속성 모두 사용자의 브라우저 뷰포트의 위쪽 테두리와 화면 위쪽 모서리의 거리를 반환합니다.

`Window.scrollbars` (en-US) 읽기 전용

`scrollbars` 객체를 반환합니다.

`Window.scrollMaxX` (en-US) 
비표준
 읽기 전용

창을 수펑으로 스크롤할 수 있는 최대 거리, 즉 문서 너비에서 뷰포트 너비를 뺀 값입니다.

`Window.scrollMaxY` (en-US) 
비표준
 읽기 전용

창을 수직으로 스크롤할 수 있는 최대 거리, 즉 문서 높이에서 뷰포트 높이를 뺀 값입니다.

`Window.scrollX` 읽기 전용

문서가 수평으로 스크롤된 픽셀 수를 반환합니다.

`Window.scrollY` 읽기 전용

문서가 수직으로 스크롤된 픽셀 수를 반환합니다.

`Window.self` 읽기 전용

창 객체 스스로를 가리키는 참조를 반환합니다.

`Window.sessionStorage`

현재 출처에서만 접근하여 데이터를 저장할 수 있는 세션 저장소 객체를 반환합니다.

`Window.speechSynthesis` (en-US) 읽기 전용

음성 합성을 위한 `SpeechSynthesis` (en-US) 객체를 반환합니다. Web Speech API의 진입점입니다.

`Window.statusbar` (en-US) 읽기 전용

`statusbar` 객체를 반환합니다.

`Window.toolbar` 읽기 전용

`toolbar` 객체를 반환합니다.

`Window.top` (en-US) 읽기 전용

창 계층 구조에서 최상위인 창을 반환합니다.

`Window.visualViewport` (en-US) 읽기 전용

창의 시각적 뷰포트를 나타내는 `VisualViewport` (en-US) 객체를 반환합니다.

`Window.window` (en-US) 읽기 전용

현재 창으로의 참조를 반환합니다.

`window[0]`, `window[1]`, ...

프레임의 `window` 객체 참조를 반환합니다. 자세한 내용은 `Window.frames` (en-US)에서 확인하세요.

### Deprecated properties

`Window.content` (en-US) and `Window._content` 
지원이 중단되었습니다

비표준
 읽기 전용

Returns a reference to the content element in the current window. Since Firefox 57 (initially Nightly-only), both versions are only available from chrome (privileged) code, and not available to the web anymore.

`Window.defaultStatus` 
지원이 중단되었습니다

Gets/sets the status bar text for the given window.

`Window.event` 
지원이 중단되었습니다
 읽기 전용

Returns the **current event**, which is the event currently being handled by the JavaScript code's context, or `undefined` if no event is currently being handled. The `Event` object passed directly to event handlers should be used instead whenever possible.

`Window.external` (en-US) 
지원이 중단되었습니다
 읽기 전용

Returns an object with functions for adding external search providers to the browser.

`Window.orientation` (en-US) 
지원이 중단되었습니다
 읽기 전용

Returns the orientation in degrees (in 90 degree increments) of the viewport relative to the device's natural orientation.

`Window.returnValue` 
지원이 중단되었습니다

The return value to be returned to the function that called `window.showModalDialog()` (en-US) to display the window as a modal dialog.

`Window.sidebar` (en-US) 
지원이 중단되었습니다

비표준
 읽기 전용

Returns a reference to the window object of the sidebar

`Window.status` 
지원이 중단되었습니다

Gets/sets the text in the statusbar at the bottom of the browser.

인스턴스 메서드
--------

`EventTarget`의 메서드를 상속합니다.

`Window.addEventListener()`

창의 특정 이벤트에 대한 처리기를 등록합니다.

`Window.atob()`

Base64로 인코딩된 문자열 데이터를 디코딩합니다.

`Window.alert()`

경고 대화 상자를 표시합니다.

`Window.blur()` (en-US)

창의 포커스를 해제합니다.

`Window.btoa()`

이진 데이터 문자열을 Base64로 인코딩한 ASCII 문자열을 생성합니다.

`Window.cancelAnimationFrame()`

`Window.requestAnimationFrame`으로 예약한 콜백을 취소합니다.

`Window.cancelIdleCallback()` (en-US)

`Window.requestIdleCallback`으로 예약한 콜백을 취소합니다.

`Window.clearImmediate()` (en-US)

`setImmediate`로 등록한 반복 실행을 해제합니다.

`Window.clearInterval()` (en-US)

`setInterval()`로 등록한 반복 실행을 해제합니다.

`Window.clearTimeout()`

`setTimeout()`으로 등록한 지연 실행을 해제합니다.

`Window.close()` (en-US)

현재 창을 닫습니다.

`Window.confirm()`

사용자가 응답해야 하는 대화 상자를 표시합니다.

`Window.createImageBitmap()` (en-US)

다양한 종류의 이미지를 받고, `ImageBitmap` (en-US)으로 이행하는 `Promise`를 반환합니다. 선택 사항으로, 원본 이미지를 *(sx, sy)* 의 원점에서 너비 sw, 높이 sh만큼 자를 수 있습니다.

`Window.dispatchEvent()`

이벤트를 발동합니다.

`Window.dump()` (en-US) 
비표준

콘솔에 메시지를 기록합니다.

`Window.fetch()`

네트워크에서 리소스를 가져오는 절차를 시작합니다.

`Window.find()` (en-US) 
비표준

주어진 문자열을 창 내에서 탐색합니다.

`Window.focus()` (en-US)

현재 창으로 포커스를 이동합니다.

`Window.getComputedStyle()`

지정한 요소의 계산된 스타일, 즉 해당 요소에 적용된 모든 CSS 속성 계산 값들을 반환합니다.

`Window.getDefaultComputedStyle()` (en-US) 
비표준

지정한 요소의 계산된 기본 스타일을 가져옵니다. 저작자 스타일시트는 무시합니다.

`Window.getSelection()`

선택된 항목(들)을 나타내는 객체를 반환합니다.

`Window.matchMedia()`

지정한 미디어 쿼리 문자열을 나타내는 `MediaQueryList` (en-US) 객체를 반환합니다.

`Window.moveBy()` (en-US)

현재 창을 지정한 거리만큼 이동합니다.

`Window.moveTo()` (en-US)

현재 창을 지정된 좌표로 이동합니다.

`Window.open()` (en-US)

새 창을 엽니다.

`Window.postMessage()`

창에서 다른 창으로 문자열 데이터를 전송할 수 있는 안전한 방법을 제공합니다. 두 창의 도메인이 같지 않아도 됩니다.

`Window.print()` (en-US)

현재 문서를 출력하는 인쇄 대화 상자를 엽니다.

`Window.prompt()`

사용자가 명령 대화상자에 입력하는 텍스트를 반환합니다.

`Window.queryLocalFonts()` (en-US) 
Experimental

`FontData` (en-US) 객체의 배열로 이행하는 `Promise`를 반환합니다. 기기에서 사용 가능한 로컬 글꼴들을 나타냅니다.

`Window.removeEventListener()`

창의 이벤트 수신기를 제거합니다.

`Window.reportError()` (en-US)

처리되지 않은 예외를 흉내낸 오류를 보고합니다.

`Window.requestAnimationFrame()`

브라우저에게 애니메이션이 재생 중임을 알려, 다음 애니메이션 프레임을 위한 리페인트의 예약을 요청합니다.

`Window.requestIdleCallback()`

브라우저 대기 시간에 수행할 작업을 예약합니다.

`Window.resizeBy()` (en-US)

현재 창을 지정한 크기만큼 조절합니다.

`Window.resizeTo()`

현재 창을 지정한 크기로 조절합니다.

`Window.scroll()`

창을 문서 내의 특정 지점으로 스크롤합니다.

`Window.scrollBy()`

창의 문서를 주어진 거리만큼 스크롤합니다.

`Window.scrollByLines()` (en-US) 
비표준

창의 문서를 주어진 줄 수만큼 스크롤합니다.

`Window.scrollByPages()` (en-US) 
비표준

창의 문서를 주어진 장 수만큼 스크롤합니다.

`Window.scrollTo()`

창을 문서 내의 좌표로 스크롤합니다.

`Window.setImmediate()` (en-US)

브라우저가 무거운 작업들을 마친 후에 함수를 실행하도록 예약합니다.

`Window.setInterval()`

주어진 밀리초가 지날 때마다 실행할 함수를 예약합니다.

`Window.setResizable()` (en-US) 
비표준

사용자의 창 크기 조절을 허용하거나 막습니다.

`Window.setTimeout()`

주어진 시간이 지난 후 실행할 함수를 예약합니다.

`Window.sizeToContent()` (en-US) 
비표준

창의 크기를 현재 내용에 맞춰 조절합니다.

`Window.showOpenFilePicker()` (en-US) 
Experimental

사용자가 파일 또는 파일들을 선택할 수 있는 파일 선택창을 엽니다.

`Window.showSaveFilePicker()` (en-US) 
Experimental

사용자가 파일 저장 위치를 선택할 수 있는 파일 선택창을 엽니다.

`Window.showDirectoryPicker()` (en-US) 
Experimental

사용자가 디렉토리를 선택할 수 있는 디렉토리 선택창을 엽니다.

`Window.stop()`

창의 불러오기를 중단합니다.

`Window.updateCommands()` (en-US) 
비표준

현재 창 크롬(UI)의 명령 상태를 업데이트합니다.

### Deprecated methods

`Window.back()` (en-US) 
비표준

지원이 중단되었습니다

Moves back one in the window history. This method is deprecated; you should instead use `window.history.back()`.

`Window.captureEvents()` (en-US) 
지원이 중단되었습니다

Registers the window to capture all events of the specified type.

`Window.forward()` (en-US) 
비표준

지원이 중단되었습니다

Moves the window one document forward in the history. This method is deprecated; you should instead use `window.history.forward()`.

`Window.releaseEvents()` (en-US) 
지원이 중단되었습니다

Releases the window from trapping events of a specific type.

`Window.showModalDialog()` (en-US) 
비표준

지원이 중단되었습니다

Displays a modal dialog.

이벤트
---

`addEventListener()`를 사용하거나, `Window` 인터페이스의 `oneventname` 속성을 사용해 이벤트를 수신하세요.

`error` (en-US)

찾을 수 없거나 유효하지 않은 이미지, 실행 오류가 발생하는 스크립트 등, 리소스를 불러오지 못했거나 사용할 수 없을 때 발생합니다.

`languagechange` (en-US)

사용자의 선호 언어가 바뀌면 발생합니다.

`devicemotion` (en-US)

일정 주기로 발생하여 장치가 받고 있는 물리적 가속력의 양을 나타냅니다. 가능한 경우 각속도도 포함합니다.

`deviceorientation` (en-US)

자기계 방향 센서가 제공하는, 지구 좌표계 기준 장치 방향 데이터를 새로 사용할 수 있으면 발생합니다.

`resize`

창 크기가 바뀌면 발생합니다.

`storage`

다른 문서에서 저장소(`localStorage` 또는 `sessionStorage`)를 수정하면 발생합니다.

### 애니메이션 이벤트

`animationcancel` (en-US)

애니메이션이 예상치 못하게 중단되면 발생합니다.

`animationend` (en-US)

애니메이션이 정상적으로 끝나면 발생합니다.

`animationiteration` (en-US)

애니메이션의 1회 반복이 끝나면 발생합니다.

`animationstart` (en-US)

애니메이션이 시작하면 발생합니다.

### 클립보드 이벤트

`copy`

사용자가 브라우저 사용자 인터페이스를 통해 복사 액션을 실행하면 발생합니다. `oncopy` (en-US) 속성으로도 사용할 수 있습니다.

`cut`

사용자가 브라우저 사용자 인터페이스를 통해 잘라내기 액션을 실행하면 발생합니다. `oncut` (en-US) 속성으로도 사용할 수 있습니다.

`paste`

사용자가 브라우저 사용자 인터페이스를 통해 붙여넣기 액션을 실행하면 발생합니다. `onpaste` (en-US) 속성으로도 사용할 수 있습니다.

### 네트워크 연결 이벤트

`offline` (en-US)

브라우저가 네트워크 연결을 상실해 `navigator.onLine`이 `false`로 바뀌면 발생합니다.

`online` (en-US)

브라우저가 네트워크 연결을 획득해 `navigator.onLine`이 `true`로 바뀌면 발생합니다.

### 포커스 이벤트

`blur` (en-US)

요소가 포커스를 잃으면 발생합니다.

`focus` (en-US)

요소가 포커스를 얻으면 발생합니다.

### 게임패드 이벤트

`gamepadconnected` (en-US)

브라우저가 게임패드 연결을 감지하거나, 게임패드의 버튼/축 입력을 처음 감지했을 때 발생합니다.

`gamepaddisconnected` (en-US)

브라우저가 게임패드 연결 해제를 감지하면 발생합니다.

### 방문 기록 이벤트

`hashchange`

URL의 프래그먼트 식별자(`#` 기호로 시작하는 부분)가 바뀌면 발생합니다.

`pagehide` (en-US)

뒤로 가기나 앞으로 가기 버튼으로 방문 기록을 탐색할 때 등, 브라우저가 현재 문서를 숨기고 방문 기록 내의 다른 문서를 보여주려고 할 때 발생합니다.

`pageshow` (en-US)

브라우저 탐색으로 이 페이지가 보여질 때 발생합니다. 페이지 첫 방문이나, 다른 페이지에서 뒤로 가기나 앞으로 가기 버튼으로 다시 돌아올 때 발생합니다.

`popstate`

활성화된 방문 기록 항목이 바뀌면 발생합니다.

### 로드 & 언로드 이벤트

`beforeunload`

창과 문서, 리소스들을 언로드하기 직전에 발생합니다.

`DOMContentLoaded`

문서 파싱이 끝나면 발생합니다. 스타일시트, 이미지, 하위 프레임의 로딩이 끝날 때까지 기다리지 않습니다.

`load`

스타일시트, 이미지 등 리소스까지 포함해서 페이지 로딩이 모두 끝나면 발생합니다.

`unload`

문서나 하위 리소스가 언로딩 중일 때 발생합니다.

### 매니페스트 이벤트

`appinstalled` (en-US)

브라우저가 성공적으로 페이지를 애플리케이션으로서 설치했을 때 발생합니다.

`beforeinstallprompt` (en-US)

사용자에게 웹 애플리케이션 설치를 권유하기 직전에 발생합니다.

### 메시지 이벤트

`message`

다른 탐색 맥락에서의 `Window.postMessage()` 등으로 이 창이 메시지를 수신했을 때 발생합니다.

`messageerror` (en-US)

`Window` 객체가 역직렬화 할 수 없는 메시지를 수신하면 발생합니다.

### 출력 이벤트

`afterprint` (en-US)

연관된 문서의 출력이 시작됐거나, 출력 미리보기 창이 닫히면 발생합니다.

`beforeprint` (en-US)

연관된 문서의 출력이 시작되기 직전이나, 출력 미리보기 창이 열리기 직전에 발생합니다.

### 프로미스 거부 이벤트

`rejectionhandled` (en-US)

JavaScript `Promise`가 거부될 때마다 발생합니다. 잡아낸 거부로 인해서도 발생합니다.

`unhandledrejection` (en-US)

JavaScript `Promise`가 거부됐지만, 거부를 잡아낼 처리기가 없을 때 발생합니다.

### 트랜지션 이벤트

`transitioncancel` (en-US)

CSS 트랜지션이 취소되면 발생합니다.

`transitionend` (en-US)

CSS 트랜지션이 끝나면 발생합니다.

`transitionrun` (en-US)

CSS 트랜지션이 처음으로 생성되면 시작합니다.

`transitionstart` (en-US)

CSS 트랜지션이 시작하면 발생합니다.

### Deprecated events

`orientationchange` 
지원이 중단되었습니다

Fired when the orientation of the device has changed.

`vrdisplayactivate` (en-US) 
지원이 중단되었습니다

비표준

Fired when a display is able to be presented to.

`vrdisplayconnect` (en-US) 
지원이 중단되었습니다

비표준

Fired when a compatible VR device has been connected to the computer.

`vrdisplaydisconnect` (en-US) 
지원이 중단되었습니다

비표준

Fired when a compatible VR device has been disconnected from the computer.

`vrdisplaydeactivate` (en-US) 
지원이 중단되었습니다

비표준

Fired when a display can no longer be presented to.

`vrdisplaypresentchange` (en-US) 
지원이 중단되었습니다

비표준

Fired when the presenting state of a VR device changes — i.e. goes from presenting to not presenting, or vice versa.

인터페이스
-----

DOM 인터페이스를 참고하세요.

명세서
---

| Specification |
| --- |
| HTML Standard # the-window-object |

브라우저 호환성
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.