Opis
Do tworzenia okien używaj interfejsu API chrome.app.window
. Windows ma opcjonalną ramkę z paskiem tytułu i elementami sterującymi rozmiarem. Nie są one powiązane z żadnymi oknami przeglądarki Chrome. Aby zapoznać się z tymi opcjami, zobacz Przykład stanu okna.
Typy
AppWindow
Właściwości
-
contentWindow
Okno
„Okno” JavaScriptu dla utworzonego elementu podrzędnego.
-
id
ciąg znaków
Identyfikator, za pomocą którego zostało utworzone okno.
-
innerBounds
Położenie, rozmiar i ograniczenia zawartości okna, które nie obejmują ozdób okien. Jest to nowa usługa w Chrome 36.
-
outerBounds
Położenie, rozmiar i ograniczenia okna, w tym jego dekoracje, takie jak pasek tytułu i ramka. Jest to nowa usługa w Chrome 36.
-
clearAttention
nieważne
Zwróć uwagę na okno.
Funkcja
clearAttention
wygląda tak:() => {...}
-
zamknij
nieważne
Zamknij okno.
Funkcja
close
wygląda tak:() => {...}
-
drawAttention
nieważne
Zwróć uwagę na okno.
Funkcja
drawAttention
wygląda tak:() => {...}
-
ostrość
nieważne
Aktywuj okno.
Funkcja
focus
wygląda tak:() => {...}
-
pełny ekran
nieważne
Otwierają pełny ekran okna.
Użytkownik będzie mógł przywrócić okno, naciskając ESC. Aplikacja może zapobiec opuszczeniu trybu pełnoekranowego po naciśnięciu klawisza ESC, wysyłając żądanie o uprawnienie
app.window.fullscreen.overrideEsc
i anulowanie zdarzenia przez wywołanie metody .preventDefault() w modułach obsługi klawiszy w następujący sposób:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Uwaga:
window.fullscreen()
spowoduje włączenie całego okna do wyświetlania na pełnym ekranie i nie wymaga gestu użytkownika. Aby włączyć tryb pełnoekranowy, możesz też użyć pełnoekranowego interfejsu API HTML5 (więcej informacji znajdziesz w sekcji Interfejsy API internetowe).Funkcja
fullscreen
wygląda tak:() => {...}
-
getBounds
nieważne
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Pobierz wewnętrzne granice okna jako obiekt
ContentBounds
.Funkcja
getBounds
wygląda tak:() => {...}
-
returns
-
-
ukryj
nieważne
Ukryj okno. Nic nie robi, jeśli okno jest już ukryte.
Funkcja
hide
wygląda tak:() => {...}
-
isAlwaysOnTop
nieważne
Czy okno jest zawsze na górze?
Funkcja
isAlwaysOnTop
wygląda tak:() => {...}
-
returns
wartość logiczna
-
-
isFullscreen
nieważne
Czy okno jest wyświetlane na pełnym ekranie? Dzieje się tak, jeśli okno zostało utworzone na pełnym ekranie albo zostało przełączone na pełny ekran za pomocą pełnoekranowego interfejsu API
AppWindow
lub HTML5.Funkcja
isFullscreen
wygląda tak:() => {...}
-
returns
wartość logiczna
-
-
isMaximized
nieważne
Czy okno jest zmaksymalizowane?
Funkcja
isMaximized
wygląda tak:() => {...}
-
returns
wartość logiczna
-
-
isMinimized
nieważne
Czy okno jest zminimalizowane?
Funkcja
isMinimized
wygląda tak:() => {...}
-
returns
wartość logiczna
-
-
maksymalizacja
nieważne
Maksymalizuj okno.
Funkcja
maximize
wygląda tak:() => {...}
-
minimalizować
nieważne
Zminimalizuj okno.
Funkcja
minimize
wygląda tak:() => {...}
-
moveTo
nieważne
Wycofane od Chrome 43Używaj granic zewnętrznych.
Przenieś okno w wybrane miejsce (
left
,top
).Funkcja
moveTo
wygląda tak:(left: number, top: number) => {...}
-
w lewo
liczba
-
góra
liczba
-
-
resizeTo
nieważne
Wycofane od Chrome 43Używaj granic zewnętrznych.
Zmień rozmiar okna na
width
xheight
piks.Funkcja
resizeTo
wygląda tak:(width: number, height: number) => {...}
-
szerokość
liczba
-
wysokość
liczba
-
-
przywróć
nieważne
Przywróć okno po wyjściu ze stanu zmaksymalizowanego, zminimalizowanego lub pełnoekranowego.
Funkcja
restore
wygląda tak:() => {...}
-
setAlwaysOnTop
nieważne
Określ, czy okno ma pozostać nad większością innych okien. Wymaga uprawnienia
alwaysOnTopWindows
.Funkcja
setAlwaysOnTop
wygląda tak:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
wartość logiczna
-
-
setBounds
nieważne
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Ustaw wewnętrzne granice okna.
Funkcja
setBounds
wygląda tak:(bounds: ContentBounds) => {...}
-
granice
-
-
setVisibleOnAllWorkspaces
nieważne
Określ, czy okno ma być widoczne we wszystkich obszarach roboczych. (tylko w przypadku platform, które obsługują tę funkcję).
Funkcja
setVisibleOnAllWorkspaces
wygląda tak:(alwaysVisible: boolean) => {...}
-
alwaysVisible
wartość logiczna
-
-
pokaż
nieważne
Pokaż okno. Nic nie robi, jeśli okno jest już widoczne. Zaznacz okno, jeśli zasada
focused
ma wartość prawda lub jest pominięty.Funkcja
show
wygląda tak:(focused?: boolean) => {...}
-
skupiony
Wartość logiczna opcjonalna
-
Bounds
Właściwości
-
wysokość
liczba
Ta właściwość może służyć do odczytu lub zapisu bieżącej wysokości zawartości bądź 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
liczba opcjonalnie
Ta właściwość może służyć do odczytu lub zapisu bieżącej maksymalnej wysokości zawartości lub okna. Wartość
null
oznacza, że produkt nie został określony. -
maxWidth
liczba opcjonalnie
Ta właściwość może służyć do odczytu lub zapisu bieżącej maksymalnej szerokości treści lub okna. Wartość
null
oznacza, że produkt nie został określony. -
minHeight
liczba opcjonalnie
Tej właściwości można używać do odczytu lub zapisu bieżącej minimalnej wysokości treści lub okna. Wartość
null
oznacza, że produkt nie został określony. -
minWidth
liczba opcjonalnie
Ta właściwość może służyć do odczytu lub zapisu bieżącej minimalnej szerokości treści lub okna. Wartość
null
oznacza, że produkt nie został określony. -
góra
liczba
Ta właściwość może służyć do odczytu lub zapisu 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 bądź okna.
-
setMaximumSize
nieważne
Ustaw ograniczenia maksymalnego rozmiaru treści lub okna. Aby usunąć ograniczenie, możesz ustawić maksymalną szerokość lub wysokość na
null
. Wartośćundefined
pozostawia ograniczenie bez zmian.Funkcja
setMaximumSize
wygląda tak:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
liczba
-
maxHeight
liczba
-
-
setMinimumSize
nieważne
Ustaw minimalne ograniczenia rozmiaru treści lub okna. Aby usunąć ograniczenie, można ustawić minimalną szerokość lub wysokość na
null
. Wartośćundefined
pozostawia ograniczenie bez zmian.Funkcja
setMinimumSize
wygląda tak:(minWidth: number, minHeight: number) => {...}
-
minWidth
liczba
-
minHeight
liczba
-
-
setPosition
nieważne
Ustaw lewą i górną pozycję treści lub okna.
Funkcja
setPosition
wygląda tak:(left: number, top: number) => {...}
-
w lewo
liczba
-
góra
liczba
-
-
setSize
nieważne
Ustaw szerokość i wysokość treści lub okna.
Funkcja
setSize
wygląda tak:(width: number, height: number) => {...}
-
szerokość
liczba
-
wysokość
liczba
-
BoundsSpecification
Właściwości
-
wysokość
liczba opcjonalnie
Wysokość treści lub okna.
-
w lewo
liczba opcjonalnie
Współrzędna X treści lub okna.
-
maxHeight
liczba opcjonalnie
Maksymalna wysokość treści lub okna.
-
maxWidth
liczba opcjonalnie
Maksymalna szerokość treści lub okna.
-
minHeight
liczba opcjonalnie
Minimalna wysokość treści lub okna.
-
minWidth
liczba opcjonalnie
Minimalna szerokość treści lub okna.
-
góra
liczba opcjonalnie
Współrzędna Y treści lub okna.
-
szerokość
liczba opcjonalnie
Szerokość treści lub okna.
ContentBounds
Właściwości
-
wysokość
liczba opcjonalnie
-
w lewo
liczba opcjonalnie
-
góra
liczba opcjonalnie
-
szerokość
liczba opcjonalnie
CreateWindowOptions
Właściwości
-
alwaysOnTop
Wartość logiczna opcjonalna
Jeśli ustawisz wartość prawda, okno pozostanie nad większością innych okien. Jeśli istnieje wiele okien tego rodzaju, na pierwszym planie będzie obecnie aktywne okno. Wymaga uprawnienia
alwaysOnTopWindows
. Wartość domyślna to fałsz.Wywołaj w oknie
setAlwaysOnTop()
, aby zmienić tę właściwość po utworzeniu. -
granice
Opcjonalne ContentBounds
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Rozmiar i położenie zawartości w oknie (bez paska tytułu). Jeśli określono też identyfikator, a wcześniej było wyświetlane okno z pasującym identyfikatorem, zamiast niego zostaną użyte zapamiętane granice okna.
-
skupiony
Wartość logiczna opcjonalna
Jeśli ma wartość Prawda, po utworzeniu okno będzie zaznaczone. Domyślna wartość to prawda.
-
ramka
string | Opcjonalne FrameOptions
Typ klatki:
none
lubchrome
(wartość domyślna tochrome
). W przypadkunone
właściwość CSS-webkit-app-region
umożliwia przeciąganie okna aplikacji. Za pomocą-webkit-app-region: drag
można oznaczać regiony, które można przeciągać.no-drag
może służyć do wyłączania tego stylu w elementach zagnieżdżonych.Używanie usługi
FrameOptions
to nowość w wersji M36. -
Wartość logiczna opcjonalna
Jeśli ma wartość prawda, okno zostanie utworzone jako ukryte. Wywołaj w oknie funkcję show(), aby pokazać je po utworzeniu. Wartość domyślna to fałsz.
-
ikona
ciąg znaków opcjonalny
Chrome w wersji 54 lub nowszej .Adres URL ikony okna. Okno może mieć własną ikonę, jeśli showInShelf ma wartość Prawda. URL powinien być globalnym lub lokalnym adresem URL rozszerzenia.
-
id
ciąg znaków opcjonalny
Identyfikator okna. Służą one do zapamiętywania rozmiaru i położenia okna i przywracania tej geometrii, gdy następnym razem zostanie otwarte okno o tym samym identyfikatorze. Jeśli okno o danym identyfikatorze zostanie utworzone, gdy istnieje już inne okno o tym samym identyfikatorze, aktualnie otwarte okno zostanie zaznaczone, a nie zostanie utworzone nowe.
-
innerBounds
Opcjonalny BoundsSpecification
Służy do określania pozycji początkowej, rozmiaru początkowego i ograniczeń zawartości okna (z wyjątkiem dekoracji okien). Jeśli określono również
id
, a wcześniej zostało wyświetlone okno z pasującym polemid
, zostaną użyte zapamiętane granice.Pamiętaj, że dopełnienie między wewnętrznym i zewnętrznym granicą jest określane przez system operacyjny. Dlatego ustawienie tej samej właściwości granic dla właściwości
innerBounds
iouterBounds
spowoduje błąd.Jest to nowa usługa w Chrome 36.
-
maxHeight
liczba opcjonalnie
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Maksymalna wysokość okna.
-
maxWidth
liczba opcjonalnie
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Maksymalna szerokość okna.
-
minHeight
liczba opcjonalnie
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Minimalna wysokość okna.
-
minWidth
liczba opcjonalnie
WycofanoStosuj wewnętrzneBounds lub OuterBounds.
Minimalna szerokość okna.
-
outerBounds
Opcjonalny BoundsSpecification
Służy do określania pozycji początkowej, rozmiaru początkowego i ograniczeń okna (w tym dekoracji okna, takich jak pasek tytułu i ramka). Jeśli określono również
id
, a wcześniej zostało wyświetlone okno z pasującym polemid
, zostaną użyte zapamiętane granice.Pamiętaj, że dopełnienie między wewnętrznym i zewnętrznym granicą jest określane przez system operacyjny. Dlatego ustawienie tej samej właściwości granic dla właściwości
innerBounds
iouterBounds
spowoduje błąd.Jest to nowa usługa w Chrome 36.
-
z możliwością zmiany rozmiaru
Wartość logiczna opcjonalna
Jeśli ma wartość prawda, użytkownik może zmienić rozmiar okna. Domyślna wartość to prawda.
-
showInShelf
Wartość logiczna opcjonalna
Chrome w wersji 54 lub nowszej .Jeśli ma wartość prawda, okno będzie miało własną ikonę półki. W przeciwnym razie okno zostanie zgrupowane na półce z innymi oknami powiązanymi z aplikacją. Wartość domyślna to fałsz. Jeśli showInShelf ma wartość Prawda, musisz podać identyfikator okna.
-
singleton
Wartość logiczna opcjonalna
WycofanoKilka okien o tym samym identyfikatorze nie jest już obsługiwane.
Domyślnie, jeśli podasz identyfikator okna, zostanie ono utworzone tylko wtedy, gdy nie istnieje jeszcze inne okno o takim samym identyfikatorze. Jeśli okno o tym samym identyfikatorze już istnieje, zostanie ono aktywowane. Jeśli chcesz utworzyć wiele okien o tym samym identyfikatorze, wybierz dla tej właściwości wartość false (fałsz).
-
stan
Stan opcjonalny
Początkowy stan okna, który umożliwia jego utworzenie już na pełnym ekranie, zmaksymalizowaniem lub zminimalizowaniu. Domyślna wartość to „normal” (normalny).
-
typ
Opcjonalny WindowType
Chrome w wersji 45 lub nowszej Wycofane od Chrome 69Wszystkie okna aplikacji używają „powłoki” typ okna
Typ okna do utworzenia.
-
visibleOnAllWorkspaces
Wartość logiczna opcjonalna
Jeśli ma wartość prawda i jest obsługiwane 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 okna, gdy jest aktywny. Kolorowanie ramki jest dostępne tylko wtedy, gdy rodzaj ramki to
chrome
.Kolorowanie ramki jest dostępne tylko wtedy, gdy rodzaj ramki to
chrome
.Kolorowanie ramek jest nowością w Chrome 36.
-
kolor
ciąg znaków opcjonalny
Umożliwia ustawienie koloru ramki. Kolorowanie ramki jest dostępne tylko wtedy, gdy rodzaj ramki to
chrome
.Kolorowanie ramek jest nowością w Chrome 36.
-
inactiveColor
ciąg znaków opcjonalny
Umożliwia ustawienie innego koloru ramki okna, gdy jest nieaktywny. Kolorowanie ramki jest dostępne tylko wtedy, gdy rodzaj ramki to
chrome
.inactiveColor
musi być używane w połączeniu z właściwościącolor
.Kolorowanie ramek jest nowością w Chrome 36.
-
typ
ciąg znaków opcjonalny
Typ klatki:
none
lubchrome
(wartość domyślna tochrome
).W przypadku
none
właściwość CSS-webkit-app-region
umożliwia przeciąganie okna aplikacji.Za pomocą
-webkit-app-region: drag
można oznaczać regiony, które można przeciągać.no-drag
może służyć do wyłączania tego stylu w elementach zagnieżdżonych.
State
Stan okna: normalny, pełny ekran, zmaksymalizowany, zminimalizowany.
Typ wyliczeniowy
"normal"
"fullscreen"
"zmaksymalizowany"
"zminimalizowany"
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()
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,
)
Rozmiar i pozycję okna można określić na wiele różnych sposobów. Najprostsza opcja to nieokreślanie niczego. W takim przypadku zostanie zastosowany rozmiar domyślny 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ętrznym i zewnętrznym granicą 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ć położenie okien, możesz przyznać im identyfikatory. Jeśli okno ma identyfikator, jest on używany do zapamiętywania rozmiaru i pozycji okna przy każdym jego przesuwaniu lub zmianie. Ten rozmiar i położenie będą używane zamiast określonych granic przy następnym otwarciu okna o tym samym identyfikatorze. Jeśli musisz otworzyć okno z identyfikatorem w lokalizacji innej niż zapamiętana domyślna lokalizacja, możesz je ukryć, przenieść do wybranej lokalizacji, a następnie wyświetlić.
Parametry
-
URL
ciąg znaków
-
Opcje
Opcjonalne CreateWindowOptions
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(createdWindow: AppWindow) => void
-
createdWindow
-
Zwroty
-
Promise<AppWindow>
Chrome w wersji 117 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
current()
chrome.app.window.current()
Zwraca obiekt AppWindow
w bieżącym kontekście skryptu (np. obiekt „window” JavaScriptu). Tę funkcję można też wywołać za pomocą uchwytu wskazującego kontekst skryptu na innej stronie, na przykład: otherWindow.chrome.app.window.current().
Zwroty
-
AppWindow | nie zdefiniowano
get()
chrome.app.window.get(
id: string,
)
Pobiera AppWindow
o podanym identyfikatorze. Jeśli nie istnieje okno o podanym identyfikatorze, zwracana jest wartość null. Jest to nowa metoda w Chrome 33.
Parametry
-
id
ciąg znaków
Zwroty
-
AppWindow | nie zdefiniowano
getAll()
chrome.app.window.getAll()
Pobiera tablicę wszystkich aktualnie utworzonych okien aplikacji. Jest to nowa metoda w Chrome 33.
Zwroty
Wydarzenia
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Uruchamiane po zmianie rozmiaru okna.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Uruchamiane po zamknięciu okna. Pamiętaj, że należy go słuchać w innym oknie niż zamykane, na przykład na stronie w tle. Dzieje się tak, ponieważ zamykane okno będzie usuwane po wywołaniu zdarzenia, co oznacza, że nie wszystkie interfejsy API w kontekście skryptu okna będą działać.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Uruchamiane, gdy okno jest wyświetlane na pełnym ekranie (przez interfejs API AppWindow
lub HTML5).
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Uruchamiane, gdy okno jest zmaksymalizowane.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Uruchamiane, gdy okno jest zminimalizowane.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Uruchamiane, gdy okno zostanie przywrócone po zminimalizowaniu lub zmaksymalizowaniu.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void