chrome.app.window

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

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Pobierz wewnętrzne granice okna jako obiekt ContentBounds.

    Funkcja getBounds wygląda tak:

    () => {...}

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

    Uż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 43

    Używaj granic zewnętrznych.

    Zmień rozmiar okna na width x height 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

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Ustaw wewnętrzne granice okna.

    Funkcja setBounds wygląda tak:

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

  • 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

    Wycofano

    Stosuj 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 lub chrome (wartość domyślna to chrome). 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.

    Używanie usługi FrameOptions to nowość w wersji M36.

  • ukryta

    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

    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 polem id, 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 i outerBounds spowoduje błąd.

    Jest to nowa usługa w Chrome 36.

  • maxHeight

    liczba opcjonalnie

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Maksymalna wysokość okna.

  • maxWidth

    liczba opcjonalnie

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Maksymalna szerokość okna.

  • minHeight

    liczba opcjonalnie

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Minimalna wysokość okna.

  • minWidth

    liczba opcjonalnie

    Wycofano

    Stosuj wewnętrzneBounds lub OuterBounds.

    Minimalna szerokość okna.

  • outerBounds

    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 polem id, 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 i outerBounds 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

    Wycofano

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

    Wszystkie 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 lub chrome (wartość domyślna to chrome).

    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

Chrome w wersji 45 lub nowszej .

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

Obietnica .
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
  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (createdWindow: AppWindow) => void

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

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

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