chrome.app.window

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 clearAttention wygląda tak:

    () => {...}

  • zamknij

    unieważnienie,

    Zamknij okno.

    Funkcja close wygląda tak:

    () => {...}

  • drawAttention

    unieważnienie,

    Zwróć uwagę na okno.

    Funkcja drawAttention wygląda tak:

    () => {...}

  • ostrość

    unieważnienie,

    Zaznacz okno.

    Funkcja focus wyglą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.overrideEsc i 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 fullscreen wygląda tak:

    () => {...}

  • getBounds

    unieważnienie,

    Wycofane

    Użyj właściwości innerBounds lub outerBounds.

    Pobierz wewnętrzne granice okna jako obiekt ContentBounds.

    Funkcja getBounds wygląda tak:

    () => {...}

  • ukryj

    unieważnienie,

    Ukryj okno. Jeśli okno jest już ukryte, nie jest wymagane żadne działanie.

    Funkcja hide wygląda tak:

    () => {...}

  • isAlwaysOnTop

    unieważnienie,

    Czy okno jest zawsze na wierzchu?

    Funkcja isAlwaysOnTop wyglą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 AppWindow lub HTML5.

    Funkcja isFullscreen wygląda tak:

    () => {...}

    • returns

      wartość logiczna

  • isMaximized

    unieważnienie,

    Czy okno jest zmaksymalizowane?

    Funkcja isMaximized wygląda tak:

    () => {...}

    • returns

      wartość logiczna

  • isMinimized

    unieważnienie,

    Czy okno jest zminimalizowane?

    Funkcja isMinimized wygląda tak:

    () => {...}

    • returns

      wartość logiczna

  • maksymalizacja

    unieważnienie,

    Zmaksymalizuj okno.

    Funkcja maximize wygląda tak:

    () => {...}

  • minimalizuj

    unieważnienie,

    Zminimalizuj okno.

    Funkcja minimize wygląda tak:

    () => {...}

  • moveTo

    unieważnienie,

    Wycofane od wersji 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

    unieważnienie,

    Wycofane od wersji 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óć

    unieważnienie,

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

    Funkcja restore wygląda tak:

    () => {...}

  • setAlwaysOnTop

    unieważnienie,

    Określ, czy okno powinno pozostawać nad większością innych okien. Wymaga uprawnienia alwaysOnTopWindows.

    Funkcja setAlwaysOnTop wygląda tak:

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

    • alwaysOnTop

      wartość logiczna

  • setBounds

    unieważnienie,

    Wycofane

    Użyj właściwości innerBounds lub outerBounds.

    Ustaw wewnętrzne granice okna.

    Funkcja setBounds wygląda tak:

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

  • setVisibleOnAllWorkspaces

    unieważnienie,

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

    Funkcja setVisibleOnAllWorkspaces wyglą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 focused ma wartość „true” lub został pominięty, ustaw fokus na oknie.

    Funkcja show wyglą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ść null oznacza „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ść null oznacza „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ść null oznacza „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ść null oznacza „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ść undefined pozostawi ograniczenie bez zmian.

    Funkcja setMaximumSize wyglą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ść undefined pozostawi ograniczenie bez zmian.

    Funkcja setMinimumSize wyglą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 setPosition wygląda tak:

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

    • w lewo

      liczba

    • góra

      liczba

  • setSize

    unieważnienie,

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

    Wycofane

    Uż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: none lub chrome (domyślnie chrome). W przypadku none można użyć właściwości CSS -webkit-app-region, aby umożliwić przeciąganie okna aplikacji. Atrybutu -webkit-app-region: drag moż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 FrameOptions to nowość w M36.

  • ukryta

    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 wersja

    URL 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

    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ż id i okno z pasującym id został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 innerBounds i outerBounds spowoduje błąd.

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

  • maxHeight

    number optional

    Wycofane

    Użyj właściwości innerBounds lub outerBounds.

    Maksymalna wysokość okna.

  • maxWidth

    number optional

    Wycofane

    Użyj właściwości innerBounds lub outerBounds.

    Maksymalna szerokość okna.

  • minHeight

    number optional

    Wycofane

    Użyj właściwości innerBounds lub outerBounds.

    Minimalna wysokość okna.

  • minWidth

    number optional

    Wycofane

    Użyj właściwości 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 również id i okno z pasującym id został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 innerBounds i outerBounds spowoduje 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 wersja

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

    Wycofane

    Wiele 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 69

    Wszystkie 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 inactiveColor należy używać w połączeniu z atrybutem color.

    Kolorowanie ramek to nowość w Chrome 36.

  • typ

    ciąg znaków opcjonalny

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

    W przypadku none właściwość CSS -webkit-app-region może służyć do stosowania możliwości przeciągania do okna aplikacji.

    Atrybutu -webkit-app-region: drag moż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

Chrome 45 lub nowsza wersja

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()

Obietnica
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

Zwroty

  • Promise<AppWindow>

    Chrome 117 lub nowsza wersja

    Obiekty 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

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

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 callback wyglą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 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ą interfejsu API AppWindow lub HTML5).

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onMaximized

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

Uruchamiane, gdy okno jest zmaksymalizowane.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void

onMinimized

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

Uruchamiane, gdy okno jest zminimalizowane.

Parametry

  • callback

    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

  • callback

    funkcja

    Parametr callback wygląda tak:

    () => void