chrome.app.window

Opis

Do tworzenia okien używaj interfejsu chrome.app.window API. Okna mają opcjonalną ramkę z paskiem tytułu i elementami sterującymi rozmiarem. Nie są one powiązane z żadnymi oknami przeglądarki Chrome. Przykłady tych opcji znajdziesz w Window State Sample.

Typy

AppWindow

Właściwości

  • contentWindow

    Okno

    Obiekt JavaScript „window” utworzonego elementu podrzędnego.

  • id

    ciąg znaków

    Identyfikator, z którym utworzono okno.

  • innerBounds

    Położenie, rozmiar i ograniczenia treś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 dekoracje okna, takie jak pasek tytułu i ramka. Ta właściwość jest nowa w Chrome 36.

  • clearAttention

    pusty

    Wyczyść zaznaczenie okna.

    Funkcja clearAttention wygląda tak:

    () => {...}

  • zamknij

    pusty

    Zamknij okno.

    Funkcja close wygląda tak:

    () => {...}

  • drawAttention

    pusty

    Zwróć uwagę na okno.

    Funkcja drawAttention wygląda tak:

    () => {...}

  • ostrość

    pusty

    Zaznacz okno.

    Funkcja focus wygląda tak:

    () => {...}

  • pełny ekran

    pusty

    Wyświetla okno na pełnym ekranie.

    Użytkownik będzie mógł przywrócić okno, naciskając klawisz ESC. Aplikacja może zapobiec wyjściu z trybu pełnoekranowego po naciśnięciu klawisza ESC, prosząc o uprawnienie app.window.fullscreen.overrideEsc i anulując zdarzenie przez wywołanie metody .preventDefault() w procedurach obsługi zdarzeń keydown i keyup, w ten sposób:

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    Uwaga: window.fullscreen() spowoduje przejście całego okna w tryb pełnoekranowy i nie wymaga gestu użytkownika. Do włączania trybu pełnoekranowego można też używać interfejsu HTML5 Fullscreen API (więcej informacji znajdziesz w sekcji Interfejsy API).

    Funkcja fullscreen wygląda tak:

    () => {...}

  • getBounds

    pusty

    Wycofano

    Użyj innerBounds lub outerBounds.

    Pobierz wewnętrzne granice okna jako obiekt ContentBounds.

    Funkcja getBounds wygląda tak:

    () => {...}

  • ukryj

    pusty

    Ukryj okno. Jeśli okno jest już ukryte, ta funkcja nie ma żadnego wpływu.

    Funkcja hide wygląda tak:

    () => {...}

  • isAlwaysOnTop

    pusty

    Czy okno jest zawsze na wierzchu?

    Funkcja isAlwaysOnTop wygląda tak:

    () => {...}

    • returns

      Wartość logiczna

  • isFullscreen

    pusty

    Czy okno jest wyświetlane na pełnym ekranie? Wartość ta będzie prawdziwa, jeśli okno zostało utworzone na pełnym ekranie lub zostało wyświetlone na pełnym ekranie za pomocą interfejsów API AppWindow lub HTML5.

    Funkcja isFullscreen wygląda tak:

    () => {...}

    • returns

      Wartość logiczna

  • isMaximized

    pusty

    Czy okno jest zmaksymalizowane?

    Funkcja isMaximized wygląda tak:

    () => {...}

    • returns

      Wartość logiczna

  • isMinimized

    pusty

    Czy okno jest zminimalizowane?

    Funkcja isMinimized wygląda tak:

    () => {...}

    • returns

      Wartość logiczna

  • maksymalizować,

    pusty

    Zmaksymalizuj okno.

    Funkcja maximize wygląda tak:

    () => {...}

  • minimalizować,

    pusty

    Zminimalizuj okno.

    Funkcja minimize wygląda tak:

    () => {...}

  • moveTo

    pusty

    Wycofane w Chrome 43

    Użyj outerBounds.

    Przenieś okno na pozycję (left, top).

    Funkcja moveTo wygląda tak:

    (left: number, top: number) => {...}

    • w lewo

      liczba

    • góra

      liczba

  • resizeTo

    pusty

    Wycofane w Chrome 43

    Użyj outerBounds.

    Zmień rozmiar okna na width x height pikseli.

    Funkcja resizeTo wygląda tak:

    (width: number, height: number) => {...}

    • szerokość

      liczba

    • wysokość

      liczba

  • przywróć

    pusty

    Przywróć okno, wychodząc ze stanu zmaksymalizowanego, zminimalizowanego lub pełnoekranowego.

    Funkcja restore wygląda tak:

    () => {...}

  • setAlwaysOnTop

    pusty

    Określ, czy okno ma być wyświetlane nad większością innych okien. Wymaga uprawnienia alwaysOnTopWindows.

    Funkcja setAlwaysOnTop wygląda tak:

    (alwaysOnTop: boolean) => {...}

    • alwaysOnTop

      Wartość logiczna

  • setBounds

    pusty

    Wycofano

    Użyj innerBounds lub outerBounds.

    Ustaw wewnętrzne granice okna.

    Funkcja setBounds wygląda tak:

    (bounds: ContentBounds) => {...}

  • setVisibleOnAllWorkspaces

    pusty

    Określ, czy okno ma być widoczne we wszystkich obszarach roboczych. (Dotyczy tylko platform, które obsługują tę funkcję).

    Funkcja setVisibleOnAllWorkspaces wygląda tak:

    (alwaysVisible: boolean) => {...}

    • alwaysVisible

      Wartość logiczna

  • pokaż

    pusty

    Pokaż okno. Jeśli okno jest już widoczne, ta funkcja nie ma żadnego wpływu. Skupia okno, jeśli wartość focused to „true” lub jeśli nie jest skonfigurowana.

    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 odczytywania lub zapisywania bieżącej wysokości treści lub okna.

  • w lewo

    liczba

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej współrzędnej X treści lub okna.

  • maxHeight

    number opcjonalny

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej maksymalnej wysokości treści lub okna. Wartość null oznacza „nieokreślony”.

  • maxWidth

    number opcjonalny

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej maksymalnej szerokości treści lub okna. Wartość null oznacza „nieokreślony”.

  • minHeight

    number opcjonalny

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej minimalnej wysokości treści lub okna. Wartość null oznacza „nieokreślony”.

  • minWidth

    number opcjonalny

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej minimalnej szerokości treści lub okna. Wartość null oznacza „nieokreślony”.

  • góra

    liczba

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej współrzędnej Y treści lub okna.

  • szerokość

    liczba

    Tej właściwości można używać do odczytywania lub zapisywania bieżącej szerokości treści lub okna.

  • setMaximumSize

    pusty

    Ustaw maksymalne ograniczenia rozmiaru treści lub okna. Aby usunąć ograniczenie, możesz ustawić maksymalną szerokość lub wysokość na null. Wartość undefined pozostawi ograniczenie bez zmian.

    Funkcja setMaximumSize wygląda tak:

    (maxWidth: number, maxHeight: number) => {...}

    • maxWidth

      liczba

    • maxHeight

      liczba

  • setMinimumSize

    pusty

    Ustaw minimalne ograniczenia rozmiaru treści lub okna. Minimalną szerokość lub wysokość można ustawić na null, aby usunąć ograniczenie. Wartość undefined pozostawi ograniczenie bez zmian.

    Funkcja setMinimumSize wygląda tak:

    (minWidth: number, minHeight: number) => {...}

    • minWidth

      liczba

    • minHeight

      liczba

  • setPosition

    pusty

    Ustaw pozycję treści lub okna od lewej i od góry.

    Funkcja setPosition wygląda tak:

    (left: number, top: number) => {...}

    • w lewo

      liczba

    • góra

      liczba

  • setSize

    pusty

    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ść

    number opcjonalny

    Wysokość treści lub okna.

  • w lewo

    number opcjonalny

    Współrzędna X treści lub okna.

  • maxHeight

    number opcjonalny

    Maksymalna wysokość treści lub okna.

  • maxWidth

    number opcjonalny

    Maksymalna szerokość treści lub okna.

  • minHeight

    number opcjonalny

    Minimalna wysokość treści lub okna.

  • minWidth

    number opcjonalny

    Minimalna szerokość treści lub okna.

  • góra

    number opcjonalny

    Współrzędna Y treści lub okna.

  • szerokość

    number opcjonalny

    Szerokość treści lub okna.

ContentBounds

Właściwości

  • wysokość

    number opcjonalny

  • w lewo

    number opcjonalny

  • góra

    number opcjonalny

  • szerokość

    number opcjonalny

CreateWindowOptions

Właściwości

  • alwaysOnTop

    wartość logiczna opcjonalna

    Jeśli ma wartość true, okno będzie zawsze nad większością innych okien. Jeśli jest kilka takich okien, na pierwszym planie będzie to, które jest obecnie zaznaczone. Wymaga uprawnienia alwaysOnTopWindows. Wartość domyślna to fałsz.

    Aby zmienić tę właściwość po utworzeniu, kliknij setAlwaysOnTop() w oknie.

  • granice,

    ContentBounds opcjonalny

    Wycofano

    Użyj innerBounds lub outerBounds.

    Rozmiar i położenie treści w oknie (z wyłączeniem paska tytułu). Jeśli określono też identyfikator, a okno z pasującym identyfikatorem było już wcześniej wyświetlane, zostaną użyte zapamiętane granice okna.

  • skupiony,

    wartość logiczna opcjonalna

    Jeśli ma wartość Prawda, okno zostanie zaznaczone po utworzeniu. Domyślna wartość to true.

  • ramka

    string | FrameOptions opcjonalny

    Typ ramki: none lub chrome (domyślnie chrome). W przypadku wartości none można użyć właściwości CSS -webkit-app-region, aby umożliwić przeciąganie okna aplikacji. -webkit-app-region: drag można użyć do oznaczenia regionów, które można przeciągać. no-drag można użyć do wyłączenia tego stylu w elementach zagnieżdżonych.

    Użycie FrameOptions jest nowością w M36.

  • ukryta

    wartość logiczna opcjonalna

    Jeśli ma wartość true, okno zostanie utworzone w stanie ukrytym. Po utworzeniu okna wywołaj w nim funkcję show(), aby je wyświetlić. Wartość domyślna to fałsz.

  • ikona

    string opcjonalny

    Chrome 54 lub nowsza

    Adres URL ikony okna. Gdy parametr showInShelf ma wartość true, okno może mieć własną ikonę. Adres URL powinien być globalny lub lokalny dla rozszerzenia.

  • id

    string opcjonalny

    Identyfikator okna. Będzie on używany do zapamiętywania rozmiaru i położenia okna oraz przywracania tych wartości, 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 tworzyć nowe okno, zostanie aktywowane aktualnie otwarte okno.

  • innerBounds

    Służy do określania początkowej pozycji, początkowego rozmiaru i ograniczeń treści okna (z wyłączeniem dekoracji okna). Jeśli określono też id i wcześniej wyświetlono okno z pasującym id, zostaną użyte zapamiętane granice.

    Pamiętaj, że odstęp między wewnętrzną a zewnętrzną granicą jest określany przez system operacyjny. Dlatego ustawienie tej samej właściwości bounds zarówno dla elementu innerBounds, jak i outerBounds spowoduje błąd.

    Ta właściwość jest nowa w Chrome 36.

  • maxHeight

    number opcjonalny

    Wycofano

    Użyj innerBounds lub outerBounds.

    Maksymalna wysokość okna.

  • maxWidth

    number opcjonalny

    Wycofano

    Użyj innerBounds lub outerBounds.

    Maksymalna szerokość okna.

  • minHeight

    number opcjonalny

    Wycofano

    Użyj innerBounds lub outerBounds.

    Minimalna wysokość okna.

  • minWidth

    number opcjonalny

    Wycofano

    Użyj innerBounds lub outerBounds.

    Minimalna szerokość okna.

  • outerBounds

    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 też id i wcześniej wyświetlono okno z pasującym id, zostaną użyte zapamiętane granice.

    Pamiętaj, że odstęp między wewnętrzną a zewnętrzną granicą jest określany przez system operacyjny. Dlatego ustawienie tej samej właściwości bounds zarówno dla elementu innerBounds, jak i outerBounds spowoduje błąd.

    Ta właściwość jest nowa w Chrome 36.

  • możliwość zmiany rozmiaru,

    wartość logiczna opcjonalna

    Jeśli wartość to prawda, użytkownik będzie mógł zmienić rozmiar okna. Domyślna wartość to true.

  • showInShelf

    wartość logiczna opcjonalna

    Chrome 54 lub nowsza

    Jeśli ma wartość true, 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 showInShelf ma wartość true, musisz podać identyfikator okna.

  • singleton

    wartość logiczna opcjonalna

    Wycofano

    Wiele okien o tym samym identyfikatorze nie jest już obsługiwanych.

    Domyślnie, jeśli określisz identyfikator okna, zostanie ono utworzone tylko wtedy, gdy nie istnieje jeszcze 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 utworzenie go już w trybie pełnoekranowym, zmaksymalizowanym lub zminimalizowanym. Domyślna wartość to „normal”.

  • typ

    WindowType opcjonalny

    Chrome 45 i nowsze Wycofane w Chrome 69

    Wszystkie okna aplikacji korzystają z typu okna „powłoka”.

    Typ okna do utworzenia.

  • visibleOnAllWorkspaces

    wartość logiczna opcjonalna

    Jeśli ma wartość true i jest obsługiwane przez platformę, okno będzie widoczne we wszystkich obszarach roboczych.

FrameOptions

Właściwości

  • activeColor

    string 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 ramki to nowość w Chrome 36.

  • kolor

    string opcjonalny

    Umożliwia ustawienie koloru ramki. Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to chrome.

    Kolorowanie ramki to nowość w Chrome 36.

  • inactiveColor

    string opcjonalny

    Umożliwia ustawienie koloru ramki nieaktywnego okna innego niż kolor aktywnego okna. Kolorowanie ramki jest dostępne tylko wtedy, gdy typ ramki to chrome.

    Właściwość inactiveColor musi być używana w połączeniu z właściwością color.

    Kolorowanie ramki to nowość w Chrome 36.

  • typ

    string opcjonalny

    Typ ramki: none lub chrome (domyślnie chrome).

    W przypadku none właściwość CSS -webkit-app-region może być używana do umożliwienia przeciągania okna aplikacji.

    -webkit-app-region: drag można użyć do oznaczenia regionów, które można przeciągać. no-drag można użyć do wyłączenia tego stylu w elementach zagnieżdżonych.

State

Stan okna: normalny, pełnoekranowy, zmaksymalizowany, zminimalizowany.

Typ wyliczeniowy

„normal”

„fullscreen”

„maximized”

„zminimalizowany”

WindowType

Chrome 45 lub nowsza

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 okna widoczne we wszystkich obszarach roboczych.

Zwroty

  • Wartość logiczna

create()

Obietnica
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)
: Promise<AppWindow>

Rozmiar i położenie okna można określić na wiele różnych sposobów. Najprostsza opcja to nieokreślanie niczego. 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. Wewnętrzne granice nie obejmują dekoracji okna. Zewnętrzne granice obejmują pasek tytułu i ramkę okna. Pamiętaj, że odstęp między wewnętrzną a zewnętrzną granicą jest określany przez system operacyjny. Dlatego ustawienie tej samej właściwości dla granic wewnętrznych i zewnętrznych jest traktowane jako błąd (np. ustawienie zarówno innerBounds.left, jak i outerBounds.left).

Aby automatycznie zapamiętywać położenie okien, możesz przypisać im identyfikatory. Jeśli okno ma identyfikator, jest on używany do zapamiętywania rozmiaru i położenia okna za każdym razem, gdy jest ono przenoszone lub zmieniane. 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

Zwroty

  • Promise<AppWindow>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

current()

chrome.app.window.current(): AppWindow | undefined

Zwraca obiekt AppWindow dla bieżącego kontekstu skryptu (czyli obiektu „window” w JavaScript). Można ją też wywołać w przypadku uchwytu do kontekstu skryptu innej strony, np. otherWindow.chrome.app.window.current().

Zwroty

get()

chrome.app.window.get(
  id: string,
)
: AppWindow | undefined

Pobiera obiekt 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

    ciąg znaków

Zwroty

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 po zmianie rozmiaru okna.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onClosed

chrome.app.window.onClosed.addListener(
  callback: function,
)

Uruchamiane po zamknięciu okna. Pamiętaj, że zdarzenie powinno być nasłuchiwane w innym oknie niż zamykane, np. na stronie w tle. Dzieje się tak, ponieważ w momencie wywołania zdarzenia zamykane okno jest w trakcie zamykania, co oznacza, że nie wszystkie interfejsy API w kontekście skryptu okna będą działać.

Parametry

  • callback

    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 (za pomocą interfejsów API AppWindow lub HTML5).

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onMaximized

chrome.app.window.onMaximized.addListener(
  callback: function,
)

Uruchamiane po zmaksymalizowaniu okna.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onMinimized

chrome.app.window.onMinimized.addListener(
  callback: function,
)

Uruchamiane po zminimalizowaniu okna.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onRestored

chrome.app.window.onRestored.addListener(
  callback: function,
)

Wydarzenie wywoływane, gdy okno zostanie przywrócone po zminimalizowaniu lub zmaksymalizowaniu.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void