Opis
Używaj interfejsu chrome.tabs API do interakcji z systemem kart przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przenosić karty w przeglądarce.
Interfejs Tabs API oferuje nie tylko funkcje manipulowania kartami i zarządzania nimi, ale też wykrywa język karty, robi zrzut ekranu i komunikuje się ze skryptami treści karty.
Uprawnienia
Większość funkcji nie wymaga żadnych uprawnień. Na przykład: utworzenie nowej karty, ponowne wczytanie karty, przejście do innego adresu URL itp.
Podczas korzystania z interfejsu Tabs API deweloperzy powinni pamiętać o 3 uprawnieniach.
- Uprawnienie „karty”
- To uprawnienie nie daje dostępu do przestrzeni nazw - chrome.tabs. Zamiast tego umożliwia rozszerzeniu wywoływanie funkcji- tabs.query()w przypadku 4 właściwości wrażliwych w instancjach- tabs.Tab:- url,- pendingUrl,- titlei- favIconUrl.- { "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Uprawnienia hosta
- Uprawnienia hosta umożliwiają rozszerzeniu odczytywanie i wykonywanie zapytań dotyczących 4 właściwości karty, które są wrażliwe: - tabs.TabMogą też wchodzić w bezpośrednią interakcję z pasującymi kartami za pomocą metod takich jak- tabs.captureVisibleTab(),- scripting.executeScript(),- scripting.insertCSS()i- scripting.removeCSS().- { "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- Uprawnienie „activeTab”
- activeTabprzyznaje rozszerzeniu tymczasowe uprawnienia hosta do bieżącej karty w odpowiedzi na wywołanie przez użytkownika. W przeciwieństwie do uprawnień hosta- activeTabnie powoduje wyświetlania żadnych ostrzeżeń.- { "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Przypadki użycia
W kolejnych sekcjach przedstawiamy kilka typowych przypadków użycia.
Otwieranie strony rozszerzenia w nowej karcie
Częstym wzorcem w przypadku rozszerzeń jest otwieranie strony wprowadzającej w nowej karcie po zainstalowaniu rozszerzenia. Poniższy przykład pokazuje, jak to zrobić.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});
Pobieranie bieżącej karty
Ten przykład pokazuje, jak proces roboczy usługi rozszerzenia może pobrać aktywną kartę z aktualnie aktywnego okna (lub ostatnio aktywnego okna, jeśli żadne okno Chrome nie jest aktywne). Można to zwykle traktować jako bieżącą kartę użytkownika.
  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }
  
  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }
Wyciszanie określonej karty
Ten przykład pokazuje, jak rozszerzenie może przełączać stan wyciszenia danej karty.
  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }
  
  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }
Przenoszenie bieżącej karty na pierwszą pozycję po kliknięciu
Ten przykład pokazuje, jak przenieść kartę, gdy przeciąganie może być w toku lub nie. W tym przykładzie użyto chrome.tabs.move, ale możesz zastosować ten sam wzorzec oczekiwania w przypadku innych wywołań, które modyfikują karty podczas przeciągania.
  chrome.tabs.onActivated.addListener(moveToFirstPosition);
  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }
  
  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }
Przekazywanie wiadomości do skryptu treści wybranej karty
Ten przykład pokazuje, jak proces roboczy usługi rozszerzenia może komunikować się ze skryptami treści w określonych kartach przeglądarki za pomocą interfejsu tabs.sendMessage().
function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}
Przykłady rozszerzeń
Więcej demonstracji rozszerzeń interfejsu Tabs API znajdziesz w tych materiałach:
Typy
MutedInfo
Stan wyciszenia karty i przyczyna ostatniej zmiany stanu.
Właściwości
- 
    extensionIdstring opcjonalny Identyfikator rozszerzenia, które zmieniło stan wyciszenia. Nie jest ustawiona, jeśli rozszerzenie nie było przyczyną ostatniej zmiany stanu wyciszenia. 
- 
    WyciszonoWartość logiczna Określa, czy karta jest wyciszona (nie może odtwarzać dźwięku). Karta może być wyciszona, nawet jeśli nie odtwarzała dźwięku lub nie odtwarza go w tej chwili. Odpowiada temu, czy wyświetlany jest wskaźnik wyciszenia dźwięku. 
- 
    powód,MutedInfoReason opcjonalnie Przyczyna wyciszenia lub wyłączenia wyciszenia karty. Nie jest ustawiony, jeśli stan wyciszenia karty nigdy nie został zmieniony. 
MutedInfoReason
Zdarzenie, które spowodowało zmianę stanu wyciszenia.
Typ wyliczeniowy
„user” 
 Użytkownik ustawił stan wyciszenia.
„capture” 
 Rozpoczęto nagrywanie karty, co spowodowało zmianę stanu wyciszenia.
„extension” 
 Rozszerzenie, zidentyfikowane przez pole extensionId, ustawiło stan wyciszenia.
Tab
Właściwości
- 
    jest aktywnyWartość logiczna Określa, czy karta jest aktywna w swoim oknie. Nie musi to oznaczać, że okno jest aktywne. 
- 
    audiblewartość logiczna opcjonalna Chrome 45 lub nowszaCzy karta emitowała dźwięk w ciągu ostatnich kilku sekund (może on być niesłyszalny, jeśli karta jest wyciszona). Odpowiada temu, czy wyświetla się wskaźnik „dźwięk z głośnika”. 
- 
    autoDiscardableWartość logiczna Chrome 54 lub nowszaOkreśla, czy karta może zostać automatycznie zamknięta przez przeglądarkę, gdy zasoby są ograniczone. 
- 
    odrzuconoWartość logiczna Chrome 54 lub nowszaOkreśla, czy karta została zamknięta. Odrzucona karta to taka, której zawartość została usunięta z pamięci, ale nadal jest widoczna na pasku kart. Jego zawartość zostanie ponownie wczytana przy następnej aktywacji. 
- 
    favIconUrlstring opcjonalny Adres URL favikony karty. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs"lub uprawnienia hosta do strony. Jeśli karta się wczytuje, może to być też pusty ciąg znaków.
- 
    zamrożone,Wartość logiczna Chrome 132 lub nowszaCzy karta jest zablokowana. Zablokowana karta nie może wykonywać zadań, w tym modułów obsługi zdarzeń ani timerów. Jest widoczna na pasku kart, a jej zawartość jest wczytywana do pamięci. Po aktywacji zostanie odblokowany. 
- 
    groupIdliczba Chrome 88 lub nowszaIdentyfikator grupy, do której należy karta. 
- 
    wysokośćnumber opcjonalny Wysokość karty w pikselach. 
- 
    wyróżnionaWartość logiczna Określa, czy karta jest wyróżniona. 
- 
    idnumber opcjonalny Identyfikator karty. Identyfikatory kart są unikalne w ramach sesji przeglądarki. W niektórych przypadkach karta może nie mieć przypisanego identyfikatora, np. podczas wysyłania zapytań dotyczących kart zewnętrznych za pomocą interfejsu sessionsAPI. W takim przypadku może być obecny identyfikator sesji. W przypadku aplikacji i okien narzędzi deweloperskich identyfikator karty można też ustawić nachrome.tabs.TAB_ID_NONE.
- 
    incognitoWartość logiczna Określa, czy karta znajduje się w oknie incognito. 
- 
    indeksliczba Indeks karty w oknie liczony od zera. 
- 
    lastAccessedliczba Chrome 121 lub nowszaOstatni moment, w którym karta stała się aktywna w swoim oknie, w milisekundach od początku epoki. 
- 
    mutedInfoMutedInfo opcjonalnie Chrome 46 lub nowszaStan wyciszenia karty i przyczyna ostatniej zmiany stanu. 
- 
    openerTabIdnumber opcjonalny Identyfikator karty, która otworzyła tę kartę (jeśli istnieje). Ta właściwość jest obecna tylko wtedy, gdy karta otwierająca nadal istnieje. 
- 
    pendingUrlstring opcjonalny Chrome 79 lub nowszaAdres URL, do którego przechodzi karta, zanim zostanie zatwierdzony. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs"lub uprawnienia hosta do strony i trwa nawigacja.
- 
    przypiętyWartość logiczna Określa, czy karta jest przypięta. 
- 
    wybranoWartość logiczna WycofanoUżyj tabs.Tab.highlighted.Określa, czy karta jest wybrana. 
- 
    sessionIdstring opcjonalny Identyfikator sesji używany do jednoznacznej identyfikacji karty uzyskanej z interfejsu sessionsAPI.
- 
    statusTabStatus opcjonalnie Stan wczytywania karty. 
- 
    tytułstring opcjonalny Tytuł karty. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs"lub uprawnienia hosta do strony.
- 
    URLstring opcjonalny Ostatni zatwierdzony adres URL głównej ramki karty. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs"lub uprawnienia hosta do strony. Może to być pusty ciąg znaków, jeśli karta nie została jeszcze zatwierdzona. Zobacz teżTab.pendingUrl.
- 
    szerokośćnumber opcjonalny Szerokość karty w pikselach. 
- 
    windowIdliczba Identyfikator okna zawierającego kartę. 
TabStatus
Stan wczytywania karty.
Typ wyliczeniowy
„unloaded” 
 
„loading” 
 
„complete” 
 
WindowType
Typ okna.
Typ wyliczeniowy
„normal” 
 
"popup" 
 
„panel” 
 
„app” 
 
„devtools” 
 
ZoomSettings
Określa, jak i w jakim zakresie mają być obsługiwane zmiany powiększenia na karcie.
Właściwości
- 
    defaultZoomFactornumber opcjonalny Chrome 43 lub nowszyUżywana do zwracania domyślnego poziomu powiększenia bieżącej karty w wywołaniach funkcji tabs.getZoomSettings. 
- 
    trybZoomSettingsMode opcjonalnie Określa sposób obsługi zmian powiększenia, czyli podmiot odpowiedzialny za rzeczywiste skalowanie strony. Domyślnie jest to automatic.
- 
    zakresZoomSettingsScope opcjonalny Określa, czy zmiany powiększenia mają być zachowywane dla źródła strony, czy mają obowiązywać tylko na tej karcie. W trybie automaticdomyślnie jest toper-origin, a w innych trybach –per-tab.
ZoomSettingsMode
Określa sposób obsługi zmian powiększenia, czyli podmiot odpowiedzialny za rzeczywiste skalowanie strony. Domyślnie jest to automatic.
Typ wyliczeniowy
„automatyczne” 
 Zmiany powiększenia są obsługiwane automatycznie przez przeglądarkę.
„manual” 
 Zastępuje automatyczną obsługę zmian powiększenia. Zdarzenie onZoomChange nadal będzie wysyłane, a rozszerzenie będzie musiało nasłuchiwać tego zdarzenia i ręcznie skalować stronę. Ten tryb nie obsługuje powiększania per-origin, więc ignoruje ustawienie powiększenia scope i zakłada per-tab.
„disabled” 
 Wyłącza wszystkie opcje powiększania na karcie. Karta powróci do domyślnego poziomu powiększenia, a wszystkie próby zmiany powiększenia zostaną zignorowane.
ZoomSettingsScope
Określa, czy zmiany powiększenia mają być zachowywane dla źródła strony, czy mają obowiązywać tylko na tej karcie. W trybie automatic domyślnie jest to per-origin, a w innych trybach – per-tab.
Typ wyliczeniowy
„per-origin” 
 Zmiany powiększenia są zachowywane w źródle powiększonej strony, tzn. wszystkie inne karty, na których otwarte jest to samo źródło, są również powiększone. Ponadto per-origin zmiany powiększenia są zapisywane w domenie, co oznacza, że podczas przechodzenia do innych stron w tej samej domenie wszystkie są powiększane do tego samego współczynnika powiększenia. Zakres per-origin jest dostępny tylko w trybie automatic.
„na kartę” 
 Zmiany powiększenia są wprowadzane tylko na tej karcie, a zmiany powiększenia na innych kartach nie wpływają na powiększenie tej karty. Poza tym per-tabzmiany powiększenia są resetowane podczas nawigacji; nawigacja po karcie zawsze wczytuje strony z per-originwartościami powiększenia.
Właściwości
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
Maksymalna liczba wywołań funkcji captureVisibleTab na sekundę. captureVisibleTab jest kosztowna i nie należy jej wywoływać zbyt często.
Wartość
2 
 
TAB_ID_NONE
Identyfikator reprezentujący brak karty przeglądarki.
Wartość
-1 
 
TAB_INDEX_NONE
Indeks reprezentujący brak indeksu karty w obszarze tab_strip.
Wartość
-1 
 
Metody
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
Rejestruje widoczny obszar obecnie aktywnej karty w określonym oknie. Aby wywołać tę metodę, rozszerzenie musi mieć uprawnienie <all_urls> lub activeTab. Oprócz stron, do których rozszerzenia mają zwykle dostęp, ta metoda umożliwia rozszerzeniom przechwytywanie wrażliwych stron, które są w inny sposób ograniczone, w tym stron ze schematem chrome:, stron innych rozszerzeń i adresów URL data:. Te wrażliwe strony można przechwytywać tylko za pomocą uprawnienia activeTab. Adresy URL plików można przechwytywać tylko wtedy, gdy rozszerzenie ma dostęp do plików.
Parametry
- 
    windowIdnumber opcjonalny Okno docelowe. Domyślnie jest to bieżące okno. 
- 
    OpcjeImageDetails opcjonalny 
Zwroty
- 
            Promise<string> Chrome 88 lub nowsza
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
Łączy się ze skryptami treści na określonej karcie. Zdarzenie runtime.onConnect jest wywoływane w każdym skrypcie treści działającym w określonej karcie bieżącego rozszerzenia. Więcej informacji znajdziesz w artykule Wysyłanie wiadomości do skryptu treści.
Parametry
- 
    tabIdliczba 
- 
    connectInfoobiekt opcjonalny - 
    documentIdstring opcjonalny Chrome 106 lub nowszaOtwiera port dla konkretnego dokumentu zidentyfikowanego przez documentIdzamiast wszystkich ramek na karcie.
- 
    frameIdnumber opcjonalny Otwórz port dla konkretnej ramki zidentyfikowanej przez frameIdzamiast wszystkich ramek na karcie.
- 
    nazwastring opcjonalny Jest przekazywany do funkcji onConnect w przypadku skryptów treści, które nasłuchują zdarzenia połączenia. 
 
- 
    
Zwroty
- 
            Port, który może być używany do komunikacji ze skryptami treści działającymi w określonej karcie. Zdarzenie runtime.Portportu jest uruchamiane, jeśli karta zostanie zamknięta lub nie istnieje.
Parametry
- 
    createPropertiesobiekt - 
    jest aktywnywartość logiczna opcjonalna Określa, czy karta ma stać się aktywną kartą w oknie. Nie ma wpływu na to, czy okno jest aktywne (patrz windows.update). Domyślnie ma wartośćtrue.
- 
    indeksnumber opcjonalny Pozycja, jaką karta powinna zajmować w oknie. Podana wartość jest ograniczona do zakresu od zera do liczby kart w oknie. 
- 
    openerTabIdnumber opcjonalny Identyfikator karty, która otworzyła tę kartę. Jeśli określono kartę otwierającą, musi ona znajdować się w tym samym oknie co nowo utworzona karta. 
- 
    przypiętywartość logiczna opcjonalna Określa, czy karta ma być przypięta. Domyślna wartość to false.
- 
    wybranowartość logiczna opcjonalna WycofanoUżyj wartości active. Określa, czy karta ma stać się wybraną kartą w oknie. Domyślna wartość to true.
- 
    URLstring opcjonalny Adres URL, do którego ma przejść karta. Pełne adresy URL muszą zawierać schemat (np. „http://www.google.com”, a nie „www.google.com”). Względne adresy URL są względne w stosunku do bieżącej strony w rozszerzeniu. Domyślnie jest to strona Nowa karta. 
- 
    windowIdnumber opcjonalny Okno, w którym ma zostać utworzona nowa karta. Domyślnie jest to bieżące okno. 
 
- 
    
Zwroty
- 
            Promise<Tab> Chrome 88 lub nowsza
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
): Promise<string>
wykrywa główny język treści na karcie;
Parametry
- 
    tabIdnumber opcjonalny Domyślnie jest to aktywna karta bieżącego okna. 
Zwroty
- 
            Promise<string> Chrome 88 lub nowsza
discard()
chrome.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Zwalnia pamięć zajmowaną przez kartę. Odrzucone karty są nadal widoczne na pasku kart i są ponownie wczytywane po aktywowaniu.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, która ma zostać odrzucona. Jeśli jest określona, karta jest odrzucana, chyba że jest aktywna lub już odrzucona. Jeśli ten parametr zostanie pominięty, przeglądarka odrzuci najmniej ważną kartę. Może się to nie udać, jeśli nie ma kart, które można odrzucić. 
Zwroty
- 
            Promise<Tab | undefined> Chrome 88 lub nowsza
Parametry
- 
    tabIdliczba Identyfikator karty do zduplikowania. 
Zwroty
- 
            Promise<Tab | undefined> Chrome 88 lub nowsza
Parametry
- 
    tabIdliczba 
Zwroty
- 
            Promise<Tab> Chrome 88 lub nowsza
getCurrent()
chrome.tabs.getCurrent(): Promise<Tab | undefined>
Pobiera kartę, z której wywoływany jest ten skrypt. Zwraca undefined, jeśli jest wywoływana w kontekście innym niż karta (np. na stronie w tle lub w widoku wyskakującym).
Zwroty
- 
            Promise<Tab | undefined> Chrome 88 lub nowsza
getZoom()
chrome.tabs.getZoom(
tabId?: number,
): Promise<number>
Pobiera bieżący współczynnik powiększenia określonej karty.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, z której ma zostać pobrany bieżący współczynnik powiększenia. Domyślnie jest to aktywna karta bieżącego okna. 
Zwroty
- 
            Promise<number> Chrome 88 lub nowsza
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Pobiera bieżące ustawienia powiększenia określonej karty.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, z której mają zostać pobrane bieżące ustawienia powiększenia. Domyślnie jest to aktywna karta bieżącego okna. 
Zwroty
- 
            Promise<ZoomSettings> Chrome 88 lub nowsza
goBack()
chrome.tabs.goBack(
tabId?: number,
): Promise<void>
Wróć na poprzednią stronę, jeśli jest dostępna.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, do której chcesz wrócić. Domyślnie jest to wybrana karta bieżącego okna. 
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
goForward()
chrome.tabs.goForward(
tabId?: number,
): Promise<void>
Przechodzi do następnej strony, jeśli jest dostępna.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, do której chcesz przejść; domyślnie jest to wybrana karta bieżącego okna. 
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
group()
chrome.tabs.group(
options: object,
): Promise<number>
Dodaje jedną lub więcej kart do określonej grupy. Jeśli grupa nie jest określona, dodaje podane karty do nowo utworzonej grupy.
Parametry
- 
    Opcjeobiekt - 
    createPropertiesobiekt opcjonalny Konfiguracje tworzenia grupy. Nie można używać, jeśli identyfikator grupy jest już określony. - 
    windowIdnumber opcjonalny Okno nowej grupy. Domyślnie jest to bieżące okno. 
 
- 
    
- 
    groupIdnumber opcjonalny Identyfikator grupy, do której chcesz dodać karty. Jeśli nie zostanie podana, utworzymy nową grupę. 
- 
    tabIdsliczba | [liczba, ...liczba[]] Identyfikator karty lub lista identyfikatorów kart do dodania do określonej grupy. 
 
- 
    
Zwroty
- 
            Promise<number> 
highlight()
chrome.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Wyróżnia podane karty i skupia się na pierwszej z nich. Jeśli określona karta jest obecnie aktywna, nie będzie to miało żadnego wpływu.
Parametry
- 
    highlightInfoobiekt - 
    karty,liczba | liczba[] Co najmniej jeden indeks karty do wyróżnienia. 
- 
    windowIdnumber opcjonalny Okno zawierające karty. 
 
- 
    
Zwroty
- 
            Promise<windows.Window> Chrome 88 lub nowsza
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
Przenosi jedną lub więcej kart w nowe miejsce w oknie lub do nowego okna. Pamiętaj, że karty można przenosić tylko do i z normalnych okien (window.type === "normal").
Parametry
- 
    tabIdsliczba | liczba[] Identyfikator karty lub lista identyfikatorów kart do przeniesienia. 
- 
    movePropertiesobiekt - 
    indeksliczba Pozycja, do której ma zostać przeniesione okno. Użyj -1, aby umieścić kartę na końcu okna.
- 
    windowIdnumber opcjonalny Domyślnie jest to okno, w którym znajduje się karta. 
 
- 
    
query()
chrome.tabs.query(
queryInfo: object,
): Promise<Tab[]>
Pobiera wszystkie karty, które mają określone właściwości, lub wszystkie karty, jeśli nie określono żadnych właściwości.
Parametry
- 
    queryInfoobiekt - 
    jest aktywnywartość logiczna opcjonalna Informacja o tym, czy karty są aktywne w swoich oknach. 
- 
    audiblewartość logiczna opcjonalna Chrome 45 lub nowszaCzy karty mają włączony dźwięk. 
- 
    autoDiscardablewartość logiczna opcjonalna Chrome 54 lub nowszaOkreśla, czy karty mogą być automatycznie zamykane przez przeglądarkę, gdy zasoby są ograniczone. 
- 
    currentWindowwartość logiczna opcjonalna Czy karty znajdują się w bieżącym oknie. 
- 
    odrzuconowartość logiczna opcjonalna Chrome 54 lub nowszaOkreśla, czy karty mają być odrzucane. Odrzucona karta to taka, której zawartość została usunięta z pamięci, ale nadal jest widoczna na pasku kart. Jego zawartość zostanie ponownie wczytana przy następnej aktywacji. 
- 
    zamrożone,wartość logiczna opcjonalna Chrome 132 lub nowszaOkreśla, czy karty są wstrzymane. Zablokowana karta nie może wykonywać zadań, w tym modułów obsługi zdarzeń ani timerów. Jest widoczna na pasku kart, a jej zawartość jest wczytywana do pamięci. Po aktywacji zostanie odblokowany. 
- 
    groupIdnumber opcjonalny Chrome 88 lub nowszaIdentyfikator grupy, w której znajdują się karty, lub tabGroups.TAB_GROUP_ID_NONEw przypadku kart rozgrupowanych.
- 
    wyróżnionawartość logiczna opcjonalna Określa, czy karty są wyróżnione. 
- 
    indeksnumber opcjonalny położenie kart w oknach, 
- 
    lastFocusedWindowwartość logiczna opcjonalna Czy karty znajdują się w ostatnim aktywnym oknie. 
- 
    Wyciszonowartość logiczna opcjonalna Chrome 45 lub nowszaOkreśla, czy karty są wyciszone. 
- 
    przypiętywartość logiczna opcjonalna Określa, czy karty są przypięte. 
- 
    splitViewIdnumber opcjonalny Chrome 140+Identyfikator widoku dzielonego, w którym znajdują się karty, lub tabs.SPLIT_VIEW_ID_NONEw przypadku kart, które nie znajdują się w widoku dzielonym.
- 
    statusTabStatus opcjonalnie Stan wczytywania karty. 
- 
    tytułstring opcjonalny dopasowywać tytuły stron do wzorca; Ta właściwość jest ignorowana, jeśli rozszerzenie nie ma uprawnienia "tabs"lub uprawnień hosta do strony.
- 
    URLstring | string[] opcjonalny Dopasowuj karty do co najmniej 1 wzorca adresu URL. Identyfikatory fragmentów nie są dopasowywane. Ta właściwość jest ignorowana, jeśli rozszerzenie nie ma uprawnienia "tabs"lub uprawnień hosta do strony.
- 
    windowIdnumber opcjonalny Identyfikator okna nadrzędnego lub windows.WINDOW_ID_CURRENTw przypadku bieżącego okna.
- 
    windowTypeWindowType opcjonalny Typ okna, w którym znajdują się karty. 
 
- 
    
Zwroty
- 
            Promise<Tab[]> Chrome 88 lub nowsza
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
ponownie załadować kartę,
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty do ponownego wczytania. Domyślnie jest to wybrana karta bieżącego okna. 
- 
    reloadPropertiesobiekt opcjonalny - 
    bypassCachewartość logiczna opcjonalna Określa, czy pominąć lokalne buforowanie. Domyślna wartość to false.
 
- 
    
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
remove()
chrome.tabs.remove(
tabIds: number | number[],
): Promise<void>
Zamyka co najmniej 1 kartę.
Parametry
- 
    tabIdsliczba | liczba[] Identyfikator karty lub lista identyfikatorów kart do zamknięcia. 
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
Wysyła pojedynczą wiadomość do skryptów treści na określonej karcie z opcjonalnym wywołaniem zwrotnym, które ma zostać uruchomione po odesłaniu odpowiedzi. Zdarzenie runtime.onMessage jest wywoływane w każdym skrypcie treści działającym w określonej karcie bieżącego rozszerzenia.
Parametry
- 
    tabIdliczba 
- 
    wiadomośćkażdy Wiadomość do wysłania. Ta wiadomość powinna być obiektem, który można przekształcić w JSON. 
- 
    Opcjeobiekt opcjonalny - 
    documentIdstring opcjonalny Chrome 106 lub nowszaWysyłanie wiadomości do określonego dokumentu oznaczonego symbolem documentIdzamiast do wszystkich ramek na karcie.
- 
    frameIdnumber opcjonalny Wysyłanie wiadomości do konkretnej ramki zidentyfikowanej przez frameIdzamiast do wszystkich ramek na karcie.
 
- 
    
Zwroty
- 
            Promise<any> Chrome 99 lub nowsza
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Powiększa określoną kartę.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, którą chcesz powiększyć. Domyślnie jest to aktywna karta bieżącego okna. 
- 
    zoomFactorliczba Nowy współczynnik powiększenia. Wartość 0ustawia kartę na bieżący domyślny współczynnik powiększenia. Wartości większe niż0określają (prawdopodobnie niestandardowy) współczynnik powiększenia karty.
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Ustawia ustawienia powiększenia dla określonej karty, które określają sposób obsługi zmian powiększenia. Po przejściu na inną kartę te ustawienia zostaną przywrócone do wartości domyślnych.
Parametry
- 
    tabIdnumber opcjonalny Identyfikator karty, dla której chcesz zmienić ustawienia powiększenia. Domyślnie jest to aktywna karta bieżącego okna. 
- 
    zoomSettingsOkreśla, jak i w jakim zakresie są obsługiwane zmiany powiększenia. 
Zwroty
- 
            Promise<void> Chrome 88 lub nowsza
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
Usuwa co najmniej jedną kartę z odpowiednich grup. Jeśli jakieś grupy staną się puste, zostaną usunięte.
Parametry
- 
    tabIdsliczba | [liczba, ...liczba[]] Identyfikator karty lub lista identyfikatorów kart do usunięcia z odpowiednich grup. 
Zwroty
- 
            Promise<void> 
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
Zmienia właściwości karty. Właściwości, które nie są określone w updateProperties, nie są modyfikowane.
Parametry
- 
    tabIdnumber opcjonalny Domyślnie jest to wybrana karta bieżącego okna. 
- 
    updatePropertiesobiekt - 
    jest aktywnywartość logiczna opcjonalna Określa, czy karta ma być aktywna. Nie ma to wpływu na to, czy okno jest aktywne (patrz windows.update).
- 
    autoDiscardablewartość logiczna opcjonalna Chrome 54 lub nowszaOkreśla, czy karta ma być automatycznie zamykana przez przeglądarkę, gdy zasoby są ograniczone. 
- 
    wyróżnionawartość logiczna opcjonalna Dodaje lub usuwa kartę z bieżącego wyboru. 
- 
    Wyciszonowartość logiczna opcjonalna Chrome 45 lub nowszaOkreśla, czy karta ma być wyciszona. 
- 
    openerTabIdnumber opcjonalny Identyfikator karty, która otworzyła tę kartę. Jeśli jest określona, karta otwierająca musi znajdować się w tym samym oknie co ta karta. 
- 
    przypiętywartość logiczna opcjonalna Określa, czy karta ma być przypięta. 
- 
    wybranowartość logiczna opcjonalna WycofanoUżyj wyróżnionego. Określa, czy karta ma być wybrana. 
- 
    URLstring opcjonalny Adres URL, do którego ma prowadzić karta. Adresy URL JavaScriptu nie są obsługiwane. Zamiast nich użyj scripting.executeScript.
 
- 
    
Zwroty
- 
            Promise<Tab | undefined> Chrome 88 lub nowsza
Wydarzenia
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Wywoływane, gdy zmieni się aktywna karta w oknie. Pamiętaj, że adres URL karty może nie być ustawiony w momencie wywołania tego zdarzenia, ale możesz nasłuchiwać zdarzeń onUpdated, aby otrzymywać powiadomienia o ustawieniu adresu URL.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(activeInfo: object) => void - 
    activeInfoobiekt - 
    tabIdliczba Identyfikator karty, która stała się aktywna. 
- 
    windowIdliczba Identyfikator okna, w którym zmieniono aktywną kartę. 
 
- 
    
 
- 
    
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Wywoływane, gdy karta jest dołączana do okna, np. po przeniesieniu jej między oknami.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(tabId: number, attachInfo: object) => void - 
    tabIdliczba 
- 
    attachInfoobiekt - 
    newPositionliczba 
- 
    newWindowIdliczba 
 
- 
    
 
- 
    
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Uruchamiane, gdy karta zostanie utworzona. Pamiętaj, że adres URL karty i członkostwo w grupie kart mogą nie być ustawione w momencie wywołania tego zdarzenia, ale możesz nasłuchiwać zdarzeń onUpdated, aby otrzymywać powiadomienia o ustawieniu adresu URL lub dodaniu karty do grupy kart.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Wywoływane, gdy karta zostanie odłączona od okna, np. z powodu przeniesienia jej między oknami.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(tabId: number, detachInfo: object) => void - 
    tabIdliczba 
- 
    detachInfoobiekt - 
    oldPositionliczba 
- 
    oldWindowIdliczba 
 
- 
    
 
- 
    
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Wysyłane, gdy zmienią się wyróżnione lub wybrane karty w oknie.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(highlightInfo: object) => void - 
    highlightInfoobiekt - 
    tabIdsnumber[] Wszystkie wyróżnione karty w oknie. 
- 
    windowIdliczba Okno, którego karty zostały zmienione. 
 
- 
    
 
- 
    
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Wywoływane, gdy karta zostanie przeniesiona w oknie. Wywoływane jest tylko jedno zdarzenie przeniesienia, które reprezentuje kartę bezpośrednio przeniesioną przez użytkownika. Zdarzenia przeniesienia nie są wywoływane w przypadku innych kart, które muszą zostać przeniesione w odpowiedzi na ręcznie przeniesioną kartę. To zdarzenie nie jest wywoływane, gdy karta jest przenoszona między oknami. Więcej informacji znajdziesz w tabs.onDetached.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(tabId: number, moveInfo: object) => void - 
    tabIdliczba 
- 
    moveInfoobiekt - 
    fromIndexliczba 
- 
    toIndexliczba 
- 
    windowIdliczba 
 
- 
    
 
- 
    
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Uruchamiane po zamknięciu karty.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(tabId: number, removeInfo: object) => void - 
    tabIdliczba 
- 
    removeInfoobiekt - 
    isWindowClosingWartość logiczna Wartość „true”, jeśli karta została zamknięta, ponieważ zamknięto jej okno nadrzędne. 
- 
    windowIdliczba okno, którego karta została zamknięta; 
 
- 
    
 
- 
    
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Wywoływane, gdy karta zostanie zastąpiona inną kartą z powodu wstępnego renderowania lub natychmiastowego wczytywania.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(addedTabId: number, removedTabId: number) => void - 
    addedTabIdliczba 
- 
    removedTabIdliczba 
 
- 
    
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Uruchamiane, gdy karta zostanie zaktualizowana.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(tabId: number, changeInfo: object, tab: Tab) => void - 
    tabIdliczba 
- 
    changeInfoobiekt - 
    audiblewartość logiczna opcjonalna Chrome 45 lub nowszaNowy stan dźwięku karty. 
- 
    autoDiscardablewartość logiczna opcjonalna Chrome 54 lub nowszaNowy stan karty, który można automatycznie odrzucić. 
- 
    odrzuconowartość logiczna opcjonalna Chrome 54 lub nowszaNowy stan odrzucenia karty. 
- 
    favIconUrlstring opcjonalny Nowy adres URL ikony karty. 
- 
    zamrożone,wartość logiczna opcjonalna Chrome 132 lub nowszaNowy stan zamrożenia karty. 
- 
    groupIdnumber opcjonalny Chrome 88 lub nowszaNowa grupa karty. 
- 
    mutedInfoMutedInfo opcjonalnie Chrome 46 lub nowszaNowy stan wyciszenia karty i przyczyna zmiany. 
- 
    przypiętywartość logiczna opcjonalna Nowy stan przypięcia karty. 
- 
    splitViewIdnumber opcjonalny Chrome 140+Nowy widok dzielony karty. 
- 
    statusTabStatus opcjonalnie Stan wczytywania karty. 
- 
    tytułstring opcjonalny Chrome 48 lub nowszaNowy tytuł karty. 
- 
    URLstring opcjonalny Adres URL karty, jeśli uległ zmianie. 
 
- 
    
- 
    tabulator
 
- 
    
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Uruchamiane, gdy karta zostanie powiększona.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(ZoomChangeInfo: object) => void - 
    ZoomChangeInfoobiekt - 
    newZoomFactorliczba 
- 
    oldZoomFactorliczba 
- 
    tabIdliczba 
- 
    zoomSettings
 
- 
    
 
-