설명
chrome.app.window
API를 사용하여 창을 만듭니다. 창에는 제목 표시줄 및 크기 컨트롤이 있는 선택적인 프레임이 있습니다. Chrome 브라우저 창과는 연결되어 있지 않습니다. 이러한 옵션의 데모는 창 상태 샘플을 참고하세요.
유형
AppWindow
속성
-
contentWindow
창
JavaScript 'window' 객체를 만듭니다.
-
id
문자열
창을 만들 때 사용한 ID입니다.
-
innerBounds
창 콘텐츠의 위치, 크기, 제약 조건으로, 창 장식은 포함되지 않습니다. 이 속성은 Chrome 36에서 새로 도입되었습니다.
-
outerBounds
제목 표시줄 및 프레임과 같은 창 장식을 포함하는 창의 위치, 크기, 제약 조건 이 속성은 Chrome 36에서 새로 도입되었습니다.
-
clearAttention
void
창에 명확하게 주목하세요.
clearAttention
함수는 다음과 같습니다.() => {...}
-
닫기
void
창을 닫습니다.
close
함수는 다음과 같습니다.() => {...}
-
drawAttention
void
창에 주의를 끕니다.
drawAttention
함수는 다음과 같습니다.() => {...}
-
초점
void
창에 포커스를 맞춥니다.
focus
함수는 다음과 같습니다.() => {...}
-
전체 화면
void
창을 전체 화면으로 표시합니다.
사용자는 Esc 키를 눌러 창을 복원할 수 있습니다. 애플리케이션은 다음과 같이
app.window.fullscreen.overrideEsc
권한을 요청하고 keydown 및 keyup 핸들러에서 .preventDefault()를 호출하여 이벤트를 취소하여 ESC를 누를 때 전체 화면 상태가 유지되지 않도록 할 수 있습니다.window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
window.fullscreen()
를 사용하면 전체 창이 전체 화면이 되며 사용자 동작이 필요하지 않습니다. HTML5 전체화면 API를 사용하여 전체화면 모드로 전환할 수도 있습니다 (자세한 내용은 웹 API 참조).fullscreen
함수는 다음과 같습니다.() => {...}
-
getBounds
void
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 내부 경계를
ContentBounds
객체로 가져옵니다.getBounds
함수는 다음과 같습니다.() => {...}
-
returns
-
-
숨기기
void
창을 숨깁니다. 창이 이미 숨겨져 있으면 아무것도 하지 않습니다.
hide
함수는 다음과 같습니다.() => {...}
-
isAlwaysOnTop
void
창이 항상 위에 있나요?
isAlwaysOnTop
함수는 다음과 같습니다.() => {...}
-
returns
부울
-
-
isFullscreen
void
창이 전체 화면인가요? 창이 전체 화면으로 생성되었거나
AppWindow
또는 HTML5 전체 화면 API를 통해 전체 화면이 된 경우 true가 됩니다.isFullscreen
함수는 다음과 같습니다.() => {...}
-
returns
부울
-
-
isMaximized
void
창이 최대화되어 있나요?
isMaximized
함수는 다음과 같습니다.() => {...}
-
returns
부울
-
-
isMinimized
void
창이 최소화되어 있나요?
isMinimized
함수는 다음과 같습니다.() => {...}
-
returns
부울
-
-
최대화
void
창을 최대화합니다.
maximize
함수는 다음과 같습니다.() => {...}
-
최소화
void
창을 최소화합니다.
minimize
함수는 다음과 같습니다.() => {...}
-
moveTo
void
<ph type="x-smartling-placeholder"></ph> Chrome 43 이후 지원 중단됨outerBounds를 사용합니다.
창을 위치 (
left
,top
)로 이동합니다.moveTo
함수는 다음과 같습니다.(left: number, top: number) => {...}
-
왼쪽
숫자
-
상단
숫자
-
-
resizeTo
void
<ph type="x-smartling-placeholder"></ph> Chrome 43 이후 지원 중단됨outerBounds를 사용합니다.
창 크기를
width
xheight
픽셀로 조절합니다.resizeTo
함수는 다음과 같습니다.(width: number, height: number) => {...}
-
너비
숫자
-
높이
숫자
-
-
복원
void
창을 복원하여 최대화, 최소화 또는 전체 화면 상태를 종료합니다.
restore
함수는 다음과 같습니다.() => {...}
-
setAlwaysOnTop
void
창을 대부분의 다른 창 위에 유지할지 여부를 설정합니다.
alwaysOnTopWindows
권한이 필요합니다.setAlwaysOnTop
함수는 다음과 같습니다.(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
부울
-
-
setBounds
void
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 내부 경계를 설정합니다.
setBounds
함수는 다음과 같습니다.(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
void
창을 모든 작업공간에 표시할지 여부를 설정합니다. (이를 지원하는 플랫폼에만 해당)
setVisibleOnAllWorkspaces
함수는 다음과 같습니다.(alwaysVisible: boolean) => {...}
-
alwaysVisible
부울
-
-
표시
void
창을 표시합니다. 창이 이미 표시되어 있으면 아무것도 하지 않습니다.
focused
가 true로 설정되거나 생략된 경우 창에 포커스를 둡니다.show
함수는 다음과 같습니다.(focused?: boolean) => {...}
-
집중
불리언 선택사항
-
Bounds
속성
-
높이
숫자
이 속성은 콘텐츠 또는 창의 현재 높이를 읽거나 쓰는 데 사용할 수 있습니다.
-
왼쪽
숫자
이 속성은 콘텐츠 또는 창의 현재 X 좌표를 읽거나 쓰는 데 사용할 수 있습니다.
-
maxHeight
숫자 선택사항
이 속성은 콘텐츠 또는 창의 현재 최대 높이를 읽거나 쓰는 데 사용할 수 있습니다. 값
null
은 '지정되지 않음'을 나타냅니다. -
maxWidth
숫자 선택사항
이 속성은 콘텐츠 또는 창의 현재 최대 너비를 읽거나 쓰는 데 사용할 수 있습니다. 값
null
은 '지정되지 않음'을 나타냅니다. -
minHeight
숫자 선택사항
이 속성은 콘텐츠 또는 창의 현재 최소 높이를 읽거나 쓰는 데 사용할 수 있습니다. 값
null
은 '지정되지 않음'을 나타냅니다. -
minWidth
숫자 선택사항
이 속성은 콘텐츠 또는 창의 현재 최소 너비를 읽거나 쓰는 데 사용할 수 있습니다. 값
null
은 '지정되지 않음'을 나타냅니다. -
상단
숫자
이 속성은 콘텐츠 또는 창의 현재 Y 좌표를 읽거나 쓰는 데 사용할 수 있습니다.
-
너비
숫자
이 속성은 콘텐츠 또는 창의 현재 너비를 읽거나 쓰는 데 사용할 수 있습니다.
-
setMaximumSize
void
콘텐츠 또는 창의 최대 크기 제한을 설정합니다. 최대 너비 또는 높이를
null
로 설정하여 제약 조건을 삭제할 수 있습니다. 값undefined
은 제약조건을 변경하지 않고 그대로 둡니다.setMaximumSize
함수는 다음과 같습니다.(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
숫자
-
maxHeight
숫자
-
-
setMinimumSize
void
콘텐츠 또는 창의 최소 크기 제한을 설정합니다. 최소 너비 또는 높이를
null
로 설정하여 제약 조건을 삭제할 수 있습니다. 값이undefined
이면 제약 조건을 변경하지 않고 그대로 둡니다.setMinimumSize
함수는 다음과 같습니다.(minWidth: number, minHeight: number) => {...}
-
minWidth
숫자
-
minHeight
숫자
-
-
setPosition
void
콘텐츠 또는 창의 왼쪽과 상단 위치를 설정합니다.
setPosition
함수는 다음과 같습니다.(left: number, top: number) => {...}
-
왼쪽
숫자
-
상단
숫자
-
-
setSize
void
콘텐츠 또는 창의 너비와 높이를 설정합니다.
setSize
함수는 다음과 같습니다.(width: number, height: number) => {...}
-
너비
숫자
-
높이
숫자
-
BoundsSpecification
속성
-
높이
숫자 선택사항
콘텐츠 또는 창의 높이입니다.
-
왼쪽
숫자 선택사항
콘텐츠 또는 창의 X 좌표입니다.
-
maxHeight
숫자 선택사항
콘텐츠 또는 창의 최대 높이.
-
maxWidth
숫자 선택사항
콘텐츠 또는 창의 최대 너비입니다.
-
minHeight
숫자 선택사항
콘텐츠 또는 창의 최소 높이.
-
minWidth
숫자 선택사항
콘텐츠 또는 창의 최소 너비입니다.
-
상단
숫자 선택사항
콘텐츠 또는 창의 Y 좌표입니다.
-
너비
숫자 선택사항
콘텐츠 또는 창의 너비입니다.
ContentBounds
속성
-
높이
숫자 선택사항
-
왼쪽
숫자 선택사항
-
상단
숫자 선택사항
-
너비
숫자 선택사항
CreateWindowOptions
속성
-
alwaysOnTop
불리언 선택사항
true인 경우 창은 대부분의 다른 창 위에 유지됩니다. 이러한 종류의 창이 여러 개 있는 경우 현재 포커스가 설정된 창이 포그라운드가 됩니다.
alwaysOnTopWindows
권한이 필요합니다. 기본값은 false입니다.생성 후 이 속성을 변경하려면 창에서
setAlwaysOnTop()
를 호출합니다. -
bounds
ContentBounds 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창에서 콘텐츠의 크기 및 위치 (제목 표시줄 제외)입니다. ID도 지정되어 있고 일치하는 ID를 가진 창이 이전에 표시된 경우, 저장된 창 경계가 대신 사용됩니다.
-
집중
불리언 선택사항
true인 경우 생성 시 창에 포커스가 맞춰집니다. 기본값은 true입니다.
-
프레임
string | FrameOptions 선택사항
프레임 유형:
none
또는chrome
(기본값은chrome
)none
의 경우-webkit-app-region
CSS 속성을 사용하여 앱의 창에 드래그 기능을 적용할 수 있습니다.-webkit-app-region: drag
를 사용하여 영역을 드래그 가능으로 표시할 수 있습니다.no-drag
를 사용하여 중첩된 요소에서 이 스타일을 사용 중지할 수 있습니다.FrameOptions
사용이 M36의 새로운 기능입니다. -
불리언 선택사항
true인 경우 창이 숨겨진 상태로 생성됩니다. 생성 후 표시하려면 창에서 show()를 호출합니다. 기본값은 false입니다.
-
아이콘
문자열(선택사항)
Chrome 54 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.창 아이콘의 URL입니다. showInShelf가 true로 설정된 경우 창에 자체 아이콘이 있을 수 있습니다. URL은 전역 URL 또는 확장 프로그램 로컬 URL이어야 합니다.
-
id
문자열(선택사항)
창을 식별하는 ID입니다. 창의 크기와 위치를 기억하고 나중에 동일한 ID를 가진 창이 열릴 때 도형을 복원하는 데 사용됩니다. 특정 ID를 가진 창이 이미 만들어지고 동일한 ID를 가진 다른 창이 이미 있는 경우, 새 창을 만드는 대신 현재 열려 있는 창에 포커스가 맞춰집니다.
-
innerBounds
BoundsSpecification 선택사항
창 콘텐츠의 초기 위치, 초기 크기, 제약 조건을 지정하는 데 사용됩니다 (창 장식 제외).
id
도 지정되어 있고 일치하는id
가 있는 창이 이전에 표시된 경우 저장된 경계가 대신 사용됩니다.안쪽과 바깥쪽 경계 사이의 패딩은 OS에서 결정합니다. 따라서
innerBounds
와outerBounds
모두에 동일한 경계 속성을 설정하면 오류가 발생합니다.이 속성은 Chrome 36에서 새로 도입되었습니다.
-
maxHeight
숫자 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 최대 높이입니다.
-
maxWidth
숫자 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 최대 너비입니다.
-
minHeight
숫자 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 최소 높이입니다.
-
minWidth
숫자 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨innerBounds 또는 outerBounds를 사용합니다.
창의 최소 너비입니다.
-
outerBounds
BoundsSpecification 선택사항
창의 초기 위치, 초기 크기, 제약 조건 (제목 표시줄 및 프레임과 같은 창 장식 포함)을 지정하는 데 사용됩니다.
id
도 지정되어 있고 일치하는id
가 있는 창이 이전에 표시된 경우 저장된 경계가 대신 사용됩니다.안쪽과 바깥쪽 경계 사이의 패딩은 OS에서 결정합니다. 따라서
innerBounds
와outerBounds
모두에 동일한 경계 속성을 설정하면 오류가 발생합니다.이 속성은 Chrome 36에서 새로 도입되었습니다.
-
resizable
불리언 선택사항
true인 경우 사용자가 창의 크기를 조절할 수 있습니다. 기본값은 true입니다.
-
showInShelf
불리언 선택사항
Chrome 54 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.true인 경우 창에 자체 앱 표시줄 아이콘이 생성됩니다. 그렇지 않으면 창이 앱과 연결된 다른 창과 함께 앱 표시줄에서 그룹화됩니다. 기본값은 false입니다. showInShelf가 true로 설정된 경우 창의 ID를 지정해야 합니다.
-
싱글톤
불리언 선택사항
<ph type="x-smartling-placeholder"></ph> 지원 중단됨ID가 같은 여러 창은 더 이상 지원되지 않습니다.
기본적으로 윈도우의 ID를 지정하면 같은 ID를 가진 다른 창이 아직 존재하지 않는 경우에만 창이 생성됩니다. ID가 동일한 창이 이미 있는 경우 해당 창이 대신 활성화됩니다. 동일한 ID로 여러 개의 창을 만들려면 이 속성을 false로 설정하면 됩니다.
-
주
상태 선택사항
이미 전체 화면, 최대화 또는 최소화된 상태로 만들 수 있는 창의 초기 상태입니다. 기본값은 'normal'입니다.
-
유형
WindowType (선택사항)
Chrome 45 이상 에서 확인하세요. Chrome 69 이후 지원 중단됨모든 앱 창이 '셸' 사용 창 유형
생성할 창 유형입니다.
-
visibleOnAllWorkspaces
불리언 선택사항
true이고 플랫폼에서 지원하는 경우 모든 작업공간에 창이 표시됩니다.
FrameOptions
속성
-
activeColor
문자열(선택사항)
활성 상태일 때 창의 프레임 색상을 허용합니다. 프레임 색상은 프레임 유형이
chrome
인 경우에만 사용할 수 있습니다.프레임 색상은 프레임 유형이
chrome
인 경우에만 사용할 수 있습니다.프레임 색상은 Chrome 36의 새로운 기능입니다.
-
색상
문자열(선택사항)
프레임 색상을 설정할 수 있습니다. 프레임 색상은 프레임 유형이
chrome
인 경우에만 사용할 수 있습니다.프레임 색상은 Chrome 36의 새로운 기능입니다.
-
inactiveColor
문자열(선택사항)
비활성 상태일 때 창의 프레임 색상을 활성 색상과 다르게 설정할 수 있습니다. 프레임 색상은 프레임 유형이
chrome
인 경우에만 사용할 수 있습니다.inactiveColor
는color
와 함께 사용해야 합니다.프레임 색상은 Chrome 36의 새로운 기능입니다.
-
유형
문자열(선택사항)
프레임 유형:
none
또는chrome
(기본값은chrome
)none
의 경우-webkit-app-region
CSS 속성을 사용하여 앱 창에 드래그 기능을 적용할 수 있습니다.-webkit-app-region: drag
를 사용하여 영역을 드래그 가능으로 표시할 수 있습니다.no-drag
를 사용하여 중첩된 요소에서 이 스타일을 사용 중지할 수 있습니다.
State
창 상태: 보통, 전체 화면, 최대화됨, 최소화됨.
열거형
"normal"
"전체 화면"
"최대화"
"최소화"
WindowType
생성할 기간의 유형을 지정합니다.
열거형
"shell"
기본 창 유형
"panel"
OS 관리 창 (지원 중단됨).
메서드
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
현재 플랫폼에서 창이 모든 작업공간에 표시되도록 지원하는지 여부입니다.
반환 값
-
부울
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
창의 크기와 위치는 다양한 방법으로 지정할 수 있습니다. 가장 간단한 옵션은 아무것도 지정하지 않는 것입니다. 이 경우 기본 크기와 플랫폼에 종속된 위치가 사용됩니다.
창의 위치, 크기, 제약 조건을 설정하려면 innerBounds
또는 outerBounds
속성을 사용합니다. 내부 경계에는 창 장식이 포함되지 않습니다. 바깥쪽 경계에는 창의 제목 표시줄과 프레임이 포함됩니다. 안쪽과 바깥쪽 경계 사이의 패딩은 OS에서 결정합니다. 따라서 안쪽과 바깥쪽 경계 모두에 동일한 속성을 설정하면 오류로 간주됩니다 (예: innerBounds.left
및 outerBounds.left
를 모두 설정).
창의 위치를 자동으로 기억하려면 창에 ID를 부여하면 됩니다. 창에 ID가 있는 경우 이 ID는 이동 또는 크기가 조절될 때마다 창의 크기와 위치를 기억하는 데 사용됩니다. 이후에 같은 ID로 창을 열 때 지정된 경계 대신 이 크기와 위치가 사용됩니다. 기억된 기본값이 아닌 다른 위치에 ID가 있는 창을 열어야 하는 경우 창을 숨김 만들고 원하는 위치로 이동한 다음 표시할 수 있습니다.
매개변수
-
URL
문자열
-
옵션
CreateWindowOptions 선택사항
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(createdWindow: AppWindow) => void
-
createdWindow
-
반환 값
-
Promise<AppWindow>
Chrome 117 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
current()
chrome.app.window.current()
현재 스크립트 컨텍스트 (예: JavaScript 'window' 객체)의 AppWindow
객체를 반환합니다. 다른 페이지의 스크립트 컨텍스트 핸들에서 호출할 수도 있습니다(예: otherWindow.chrome.app.window.current()).
반환 값
-
AppWindow | 정의되지 않음
get()
chrome.app.window.get(
id: string,
)
지정된 ID가 있는 AppWindow
를 가져옵니다. 지정된 ID를 가진 창이 없으면 null이 반환됩니다. 이 방법은 Chrome 33에서 새로 도입되었습니다.
매개변수
-
id
문자열
반환 값
-
AppWindow | 정의되지 않음
getAll()
chrome.app.window.getAll()
현재 만들어진 모든 앱 창의 배열을 가져옵니다. 이 방법은 Chrome 33에서 새로 도입되었습니다.
반환 값
이벤트
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
창의 크기가 조절될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
창이 닫히면 실행됩니다. 참고로, 이 메서드는 닫히고 있는 창이 아닌 다른 창(예: 배경 페이지)에서 수신해야 합니다. 이는 이벤트가 실행될 때 닫히고 있는 창이 해제되고 있기 때문입니다. 즉, 창의 스크립트 컨텍스트에 있는 모든 API가 작동하지는 않습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
AppWindow
또는 HTML5 API를 통해 창이 전체 화면으로 전환될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
창이 최대화되면 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
창이 최소화되면 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
창이 최소화되거나 최대화되지 않도록 복원되면 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void