Opis
Do tworzenia okien używaj interfejsu API chrome.app.window. Okna mają opcjonalną ramkę z paskiem tytułu i elementami sterującymi rozmiarem. Nie są powiązane z żadnymi oknami przeglądarki Chrome. Aby zobaczyć, jak działają te opcje, zapoznaj się z przykładem stanu okna.
Typy
AppWindow
Właściwości
-
contentWindow
Okno
Obiekt „window” JavaScriptu dla utworzonego elementu podrzędnego.
-
id
tekst
Identyfikator, z którym utworzono okno.
-
innerBounds
Położenie, rozmiar i ograniczenia zawartości okna, które nie obejmują dekoracji okna. Ta właściwość jest nowa w Chrome 36.
-
outerBounds
Położenie, rozmiar i ograniczenia okna, w tym elementy dekoracyjne okna, takie jak pasek tytułu i ramka. Ta właściwość jest nowa w Chrome 36.
-
clearAttention
unieważnienie,
Usuń uwagę z okna.
Funkcja
clearAttentionwygląda tak:() => {...} -
zamknij
unieważnienie,
Zamknij okno.
Funkcja
closewygląda tak:() => {...} -
drawAttention
unieważnienie,
Zwróć uwagę na okno.
Funkcja
drawAttentionwygląda tak:() => {...} -
ostrość
unieważnienie,
Zaznacz okno.
Funkcja
focuswygląda tak:() => {...} -
pełny ekran
unieważnienie,
Wyświetla okno na pełnym ekranie.
Użytkownik będzie mógł przywrócić okno, naciskając ESC. Aplikacja może uniemożliwić wyjście z trybu pełnoekranowego po naciśnięciu klawisza ESC, żądając uprawnienia
app.window.fullscreen.overrideEsci anulując zdarzenie przez wywołanie .preventDefault() w modułach obsługi zdarzeń keydown i keyup, na przykład w ten sposób:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };Uwaga:
window.fullscreen()spowoduje, że całe okno zostanie wyświetlone na pełnym ekranie, i nie wymaga gestu użytkownika. Do przejścia w tryb pełnoekranowy można też użyć interfejsu HTML5 fullscreen API (więcej informacji znajdziesz w artykule o interfejsach Web API).Funkcja
fullscreenwygląda tak:() => {...} -
getBounds
unieważnienie,
WycofaneUżyj właściwości innerBounds lub outerBounds.
Pobierz wewnętrzne granice okna jako obiekt
ContentBounds.Funkcja
getBoundswygląda tak:() => {...}-
returns
-
-
ukryj
unieważnienie,
Ukryj okno. Jeśli okno jest już ukryte, nie jest wymagane żadne działanie.
Funkcja
hidewygląda tak:() => {...} -
isAlwaysOnTop
unieważnienie,
Czy okno jest zawsze na wierzchu?
Funkcja
isAlwaysOnTopwygląda tak:() => {...}-
returns
wartość logiczna
-
-
isFullscreen
unieważnienie,
Czy okno jest wyświetlane na pełnym ekranie? Ta wartość będzie prawdziwa, jeśli okno zostało utworzone w trybie pełnoekranowym lub zostało przełączone w ten tryb za pomocą interfejsów API
AppWindowlub HTML5.Funkcja
isFullscreenwygląda tak:() => {...}-
returns
wartość logiczna
-
-
isMaximized
unieważnienie,
Czy okno jest zmaksymalizowane?
Funkcja
isMaximizedwygląda tak:() => {...}-
returns
wartość logiczna
-
-
isMinimized
unieważnienie,
Czy okno jest zminimalizowane?
Funkcja
isMinimizedwygląda tak:() => {...}-
returns
wartość logiczna
-
-
maksymalizacja
unieważnienie,
Zmaksymalizuj okno.
Funkcja
maximizewygląda tak:() => {...} -
minimalizuj
unieważnienie,
Zminimalizuj okno.
Funkcja
minimizewygląda tak:() => {...} -
moveTo
unieważnienie,
Wycofane od wersji Chrome 43Użyj outerBounds.
Przenieś okno na pozycję (
left,top).Funkcja
moveTowygląda tak:(left: number, top: number) => {...}
-
w lewo
liczba
-
góra
liczba
-
-
resizeTo
unieważnienie,
Wycofane od wersji Chrome 43Użyj outerBounds.
Zmień rozmiar okna na
widthxheightpikseli.Funkcja
resizeTowygląda tak:(width: number, height: number) => {...}
-
szerokość
liczba
-
wysokość
liczba
-
-
przywróć
unieważnienie,
Przywróć okno, wychodząc ze stanu zmaksymalizowanego, zminimalizowanego lub pełnoekranowego.
Funkcja
restorewygląda tak:() => {...} -
setAlwaysOnTop
unieważnienie,
Określ, czy okno powinno pozostawać nad większością innych okien. Wymaga uprawnienia
alwaysOnTopWindows.Funkcja
setAlwaysOnTopwygląda tak:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
wartość logiczna
-
-
setBounds
unieważnienie,
WycofaneUżyj właściwości innerBounds lub outerBounds.
Ustaw wewnętrzne granice okna.
Funkcja
setBoundswygląda tak:(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
unieważnienie,
Określ, czy okno ma być widoczne we wszystkich obszarach roboczych. (tylko na platformach, które obsługują tę funkcję).
Funkcja
setVisibleOnAllWorkspaceswygląda tak:(alwaysVisible: boolean) => {...}
-
alwaysVisible
wartość logiczna
-
-
pokaż
unieważnienie,
Pokaż okno. Jeśli okno jest już widoczne, nie jest wymagane żadne działanie. Jeśli parametr
focusedma wartość „true” lub został pominięty, ustaw fokus na oknie.Funkcja
showwygląda tak:(focused?: boolean) => {...}
-
skupienie
boolean opcjonalne
-
Bounds
Właściwości
-
wysokość
liczba
Ta właściwość może służyć do odczytywania lub zapisywania bieżącej wysokości treści lub okna.
-
w lewo
liczba
Ta właściwość może służyć do odczytu lub zapisu bieżącej współrzędnej X treści lub okna.
-
maxHeight
number optional
Ta właściwość może służyć do odczytu lub zapisu bieżącej maksymalnej wysokości treści lub okna. Wartość
nulloznacza „nieokreślony”. -
maxWidth
number optional
Ta właściwość może służyć do odczytu lub zapisu bieżącej maksymalnej szerokości treści lub okna. Wartość
nulloznacza „nieokreślony”. -
minHeight
number optional
Ta właściwość może służyć do odczytu lub zapisu bieżącej minimalnej wysokości treści lub okna. Wartość
nulloznacza „nieokreślony”. -
minWidth
number optional
Ta właściwość może służyć do odczytu lub zapisu bieżącej minimalnej szerokości treści lub okna. Wartość
nulloznacza „nieokreślony”. -
góra
liczba
Ta właściwość może służyć do odczytywania lub zapisywania bieżącej współrzędnej Y treści lub okna.
-
szerokość
liczba
Ta właściwość może służyć do odczytu lub zapisu bieżącej szerokości treści lub okna.
-
setMaximumSize
unieważnienie,
Ustaw maksymalne ograniczenia rozmiaru treści lub okna. Aby usunąć ograniczenie, możesz ustawić maksymalną szerokość lub wysokość na
null. Wartośćundefinedpozostawi ograniczenie bez zmian.Funkcja
setMaximumSizewygląda tak:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
liczba
-
maxHeight
liczba
-
-
setMinimumSize
unieważnienie,
Ustaw minimalne ograniczenia rozmiaru treści lub okna. Aby usunąć ograniczenie, możesz ustawić minimalną szerokość lub wysokość na
null. Wartośćundefinedpozostawi ograniczenie bez zmian.Funkcja
setMinimumSizewygląda tak:(minWidth: number, minHeight: number) => {...}
-
minWidth
liczba
-
minHeight
liczba
-
-
setPosition
unieważnienie,
Ustaw pozycję treści lub okna od lewej i od góry.
Funkcja
setPositionwygląda tak:(left: number, top: number) => {...}
-
w lewo
liczba
-
góra
liczba
-
-
setSize
unieważnienie,
Ustaw szerokość i wysokość treści lub okna.
Funkcja
setSizewygląda tak:(width: number, height: number) => {...}
-
szerokość
liczba
-
wysokość
liczba
-
BoundsSpecification
Właściwości
-
wysokość
number optional
Wysokość treści lub okna.
-
w lewo
number optional
Współrzędna X treści lub okna.
-
maxHeight
number optional
Maksymalna wysokość treści lub okna.
-
maxWidth
number optional
Maksymalna szerokość treści lub okna.
-
minHeight
number optional
Minimalna wysokość treści lub okna.
-
minWidth
number optional
Minimalna szerokość treści lub okna.
-
góra
number optional
Współrzędna Y treści lub okna.
-
szerokość
number optional
Szerokość treści lub okna.
ContentBounds
Właściwości
-
wysokość
number optional
-
w lewo
number optional
-
góra
number optional
-
szerokość
number optional
CreateWindowOptions
Właściwości
-
alwaysOnTop
boolean opcjonalne
Jeśli ma wartość „true”, okno będzie wyświetlane nad większością innych okien. Jeśli jest kilka takich okien, na pierwszym planie będzie okno, które jest obecnie aktywne. Wymaga uprawnienia
alwaysOnTopWindows. Wartość domyślna to fałsz.Aby zmienić tę właściwość po utworzeniu, wywołaj
setAlwaysOnTop()w oknie. -
bounds
ContentBounds opcjonalny
WycofaneUżyj właściwości innerBounds lub outerBounds.
Rozmiar i pozycja treści w oknie (z wyłączeniem paska tytułu). Jeśli podano też identyfikator, a okno ze zgodnym identyfikatorem było już wcześniej wyświetlane, zostaną użyte zapamiętane granice okna.
-
skupienie
boolean opcjonalne
Jeśli ma wartość Prawda, okno będzie aktywne po utworzeniu. Wartość domyślna to „true”.
-
rama łóżka
string | FrameOptions opcjonalnie
Typ ramki:
nonelubchrome(domyślniechrome). W przypadkunonemożna użyć właściwości CSS-webkit-app-region, aby umożliwić przeciąganie okna aplikacji. Atrybutu-webkit-app-region: dragmożna używać do oznaczania regionów, które można przeciągać. Możesz użyćno-drag, aby wyłączyć ten styl w elementach zagnieżdżonych.Użycie
FrameOptionsto nowość w M36. -
boolean opcjonalne
Jeśli ma wartość Prawda, okno zostanie utworzone w stanie ukrytym. Wywołaj metodę show() w oknie, aby wyświetlić je po utworzeniu. Wartość domyślna to fałsz.
-
ikona
ciąg znaków opcjonalny
Chrome 54 lub nowsza wersjaURL ikony okna. Okno może mieć własną ikonę, gdy właściwość showInShelf ma wartość true. Adres URL powinien być globalny lub lokalny dla rozszerzenia.
-
id
ciąg znaków opcjonalny
Identyfikator okna. Służy do zapamiętywania rozmiaru i położenia okna oraz przywracania tych ustawień, gdy później zostanie otwarte okno o tym samym identyfikatorze. Jeśli okno o danym identyfikatorze zostanie utworzone, gdy istnieje już inne okno o tym samym identyfikatorze, zamiast tworzenia nowego okna zostanie aktywowane obecnie otwarte okno.
-
innerBounds
BoundsSpecification opcjonalny
Służy do określania początkowej pozycji, początkowego rozmiaru i ograniczeń zawartości okna (z wyłączeniem dekoracji okna). Jeśli określono również
idi okno z pasującymidzostało już wcześniej wyświetlone, zostaną użyte zapamiętane granice.Pamiętaj, że dopełnienie między wewnętrznymi i zewnętrznymi granicami jest określane przez system operacyjny. Dlatego ustawienie tej samej właściwości bounds dla
innerBoundsiouterBoundsspowoduje błąd.Ta właściwość jest nowa w Chrome 36.
-
maxHeight
number optional
WycofaneUżyj właściwości innerBounds lub outerBounds.
Maksymalna wysokość okna.
-
maxWidth
number optional
WycofaneUżyj właściwości innerBounds lub outerBounds.
Maksymalna szerokość okna.
-
minHeight
number optional
WycofaneUżyj właściwości innerBounds lub outerBounds.
Minimalna wysokość okna.
-
minWidth
number optional
WycofaneUżyj właściwości innerBounds lub outerBounds.
Minimalna szerokość okna.
-
outerBounds
BoundsSpecification opcjonalny
Służy do określania początkowego położenia, początkowego rozmiaru i ograniczeń okna (w tym dekoracji okna, takich jak pasek tytułu i ramka). Jeśli określono również
idi okno z pasującymidzostało już wcześniej wyświetlone, zostaną użyte zapamiętane granice.Pamiętaj, że dopełnienie między wewnętrznymi i zewnętrznymi granicami jest określane przez system operacyjny. Dlatego ustawienie tej samej właściwości bounds dla
innerBoundsiouterBoundsspowoduje błąd.Ta właściwość jest nowa w Chrome 36.
-
z możliwością zmiany rozmiaru
boolean opcjonalne
Jeśli ma wartość prawda, użytkownik może zmienić rozmiar okna. Wartość domyślna to „true”.
-
showInShelf
boolean opcjonalne
Chrome 54 lub nowsza wersjaJeśli ma wartość Prawda, okno będzie miało własną ikonę na półce. W przeciwnym razie okno zostanie zgrupowane na półce z innymi oknami powiązanymi z aplikacją. Wartość domyślna to false. Jeśli parametr showInShelf ma wartość true, musisz podać identyfikator okna.
-
singleton
boolean opcjonalne
WycofaneWiele okien z tym samym identyfikatorem nie jest już obsługiwanych.
Domyślnie, jeśli określisz identyfikator okna, okno zostanie utworzone tylko wtedy, gdy nie istnieje już inne okno o tym samym identyfikatorze. Jeśli okno o tym samym identyfikatorze już istnieje, zostanie ono aktywowane. Jeśli chcesz utworzyć wiele okien o tym samym identyfikatorze, możesz ustawić tę właściwość na wartość „false”.
-
stan
State opcjonalny
Stan początkowy okna, który umożliwia jego utworzenie w trybie pełnoekranowym, zmaksymalizowanym lub zminimalizowanym. Domyślna wartość to „normal”.
-
typ
WindowType opcjonalny
Chrome 45 lub nowsza Wycofane od wersji Chrome 69Wszystkie okna aplikacji używają typu okna „shell”
Typ okna do utworzenia.
-
visibleOnAllWorkspaces
boolean opcjonalne
Jeśli ma wartość true (prawda) i jest obsługiwana przez platformę, okno będzie widoczne we wszystkich obszarach roboczych.
FrameOptions
Właściwości
-
activeColor
ciąg znaków opcjonalny
Umożliwia ustawienie koloru ramki aktywnego okna. Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to
chrome.Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to
chrome.Kolorowanie ramek to nowość w Chrome 36.
-
kolor
ciąg znaków opcjonalny
Umożliwia ustawienie koloru ramki. Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to
chrome.Kolorowanie ramek to nowość w Chrome 36.
-
inactiveColor
ciąg znaków opcjonalny
Umożliwia ustawienie innego koloru obramowania okna, gdy jest ono nieaktywne, niż gdy jest aktywne. Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to
chrome.Atrybutu
inactiveColornależy używać w połączeniu z atrybutemcolor.Kolorowanie ramek to nowość w Chrome 36.
-
typ
ciąg znaków opcjonalny
Typ ramki:
nonelubchrome(domyślniechrome).W przypadku
nonewłaściwość CSS-webkit-app-regionmoże służyć do stosowania możliwości przeciągania do okna aplikacji.Atrybutu
-webkit-app-region: dragmożna użyć do oznaczenia regionów, które można przeciągać. Możesz użyćno-drag, aby wyłączyć ten styl w elementach zagnieżdżonych.
State
Stan okna: normalny, pełny ekran, zmaksymalizowany, zminimalizowany.
Typ wyliczeniowy
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
Określa typ okna do utworzenia.
Typ wyliczeniowy
"shell"
Domyślny typ okna.
"panel"
Okno zarządzane przez system operacyjny (wycofane).
Metody
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Określa, czy bieżąca platforma obsługuje wyświetlanie okien we wszystkich obszarach roboczych.
Zwroty
-
wartość logiczna
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
Rozmiar i położenie okna można określić na kilka różnych sposobów. Najprostsza opcja to nieokreślanie żadnych parametrów. W takim przypadku zostanie użyty domyślny rozmiar i pozycja zależna od platformy.
Aby ustawić pozycję, rozmiar i ograniczenia okna, użyj właściwości innerBounds lub outerBounds. Granice wewnętrzne nie obejmują dekoracji okien. Granice zewnętrzne obejmują pasek tytułu i ramkę okna. Pamiętaj, że dopełnienie między wewnętrznymi i zewnętrznymi granicami jest określane przez system operacyjny. Dlatego ustawienie tej samej właściwości dla granic wewnętrznych i zewnętrznych jest uznawane za błąd (np. ustawienie zarówno innerBounds.left, jak i outerBounds.left).
Aby automatycznie zapamiętywać pozycje okien, możesz nadać im identyfikatory. Jeśli okno ma identyfikator, jest on używany do zapamiętywania rozmiaru i położenia okna po jego przeniesieniu lub zmianie rozmiaru. Ten rozmiar i pozycja są następnie używane zamiast określonych granic przy kolejnym otwarciu okna o tym samym identyfikatorze. Jeśli chcesz otworzyć okno z identyfikatorem w innym miejscu niż zapamiętane domyślne, możesz utworzyć je jako ukryte, przenieść w wybrane miejsce, a następnie wyświetlić.
Parametry
-
URL
tekst
-
Opcje
CreateWindowOptions opcjonalny
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(createdWindow: AppWindow) => void
-
createdWindow
-
Zwroty
-
Promise<AppWindow>
Chrome 117 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
current()
chrome.app.window.current(): AppWindow | undefined
Zwraca obiekt AppWindow dla bieżącego kontekstu skryptu (czyli obiekt „window” JavaScriptu). Można ją też wywołać w uchwycie do kontekstu skryptu dla innej strony, na przykład: otherWindow.chrome.app.window.current().
Zwroty
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Pobiera AppWindow o podanym identyfikatorze. Jeśli nie ma okna o podanym identyfikatorze, zwracana jest wartość null. Ta metoda jest nowością w Chrome 33.
Parametry
-
id
tekst
Zwroty
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Pobiera tablicę wszystkich utworzonych obecnie okien aplikacji. Ta metoda jest nowością w Chrome 33.
Zwroty
Wydarzenia
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Uruchamiane, gdy rozmiar okna zostanie zmieniony.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Uruchamiane po zamknięciu okna. Pamiętaj, że należy nasłuchiwać z okna innego niż zamykane, na przykład ze strony działającej w tle. Dzieje się tak, ponieważ zamykane okno będzie w trakcie zamykania, gdy zdarzenie zostanie wywołane, co oznacza, że nie wszystkie interfejsy API w kontekście skryptu okna będą działać.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Uruchamiane, gdy okno jest wyświetlane na pełnym ekranie (za pomocą interfejsu API AppWindow lub HTML5).
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Uruchamiane, gdy okno jest zmaksymalizowane.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Uruchamiane, gdy okno jest zminimalizowane.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Uruchamiane, gdy okno zostanie przywrócone po zminimalizowaniu lub zmaksymalizowaniu.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void