chrome.tabs

Opis

Użyj interfejsu chrome.tabs API, aby korzystać z systemu kart przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przenosić karty w przeglądarce.

Przegląd

Interfejs Tabs API nie tylko oferuje funkcje manipulowania kartami i zarządzania nimi, ale także może wykrywać język karty, robić zrzuty ekranu i komunikować 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 pracy z interfejsem Tabs API deweloperzy powinni pamiętać o 3 uprawnieniach.

Uprawnienie „karty”
To uprawnienie nie daje dostępu do przestrzeni nazw chrome.tabs. Zamiast tego rozszerzenie może wywoływać funkcję tabs.query() w przypadku 4 właściwości wrażliwych w instancjach tabs.Tab: url, pendingUrl, title i favIconUrl.
Uprawnienia hosta
Uprawnienia do hosta umożliwiają rozszerzeniu odczytywanie i wykonywanie zapytań dotyczących 4 właściwości karty, które są wrażliwe:tabs.Tab Mogą też wchodzić w bezpośrednią interakcję z pasującymi kartami za pomocą metod takich jak tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() i tabs.removeCSS().
Uprawnienie „activeTab”
activeTab przyznaje rozszerzeniu tymczasowe uprawnienia do hosta w bieżącej karcie w odpowiedzi na wywołanie przez użytkownika. W przeciwieństwie do uprawnień hosta activeTab nie powoduje wyświetlania żadnych ostrzeżeń.

Plik manifestu

Poniżej znajdziesz przykłady deklarowania poszczególnych uprawnień w pliku manifestu:

  {
    "name": "My extension",
    ...
    "permissions": [
      "tabs"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "permissions": [
      "activeTab"
    ],
    ...
  }

Przypadki użycia

W sekcjach poniżej znajdziesz 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 skrypt service worker rozszerzenia może pobrać aktywną kartę z aktualnie aktywnego okna (lub z ostatnio aktywnego okna, jeśli żadne okno Chrome nie jest aktywne). Można ją 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 tego samego wzorca oczekiwania możesz używać 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 skrypt service worker rozszerzenia może komunikować się ze skryptami treści w określonych kartach przeglądarki za pomocą 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 miejscach:

Typy

MutedInfo

Chrome 46 lub nowsza

Stan wyciszenia karty i przyczyna ostatniej zmiany stanu.

Właściwości

  • extensionId

    ciąg znaków opcjonalny

    Identyfikator rozszerzenia, które zmieniło stan wyciszenia. Nie jest ustawiony, jeśli rozszerzenie nie było przyczyną ostatniej zmiany stanu wyciszenia.

  • Wyciszono

    wartość logiczna

    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 obecnie. Odpowiada temu, czy wyświetlany jest wskaźnik wyciszenia dźwięku.

  • powód,

    MutedInfoReason opcjonalny

    Powód wyciszenia lub wyłączenia wyciszenia karty. Nie jest ustawiony, jeśli stan wyciszenia karty nigdy nie został zmieniony.

MutedInfoReason

Chrome 46 lub nowsza

Zdarzenie, które spowodowało zmianę stanu wyciszenia.

Typ wyliczeniowy

„user”
Dane wejściowe użytkownika ustawiły stan wyciszenia.

„capture”
Rozpoczęto rejestrowanie karty, co spowodowało zmianę stanu wyciszenia.

„extension”
Rozszerzenie, zidentyfikowane przez pole extensionId, ustawiło stan wyciszenia.

Tab

Właściwości

  • aktywna

    wartość logiczna

    Informacja o tym, czy karta jest aktywna w swoim oknie. Nie musi to oznaczać, że okno jest aktywne.

  • audible

    wartość logiczna opcjonalna

    Chrome 45 lub nowszy

    Czy karta emitowała dźwięk w ciągu ostatnich kilku sekund (ale może nie być słyszalny, jeśli jest wyciszona). Odpowiada temu, czy wyświetla się wskaźnik „dźwięk z głośnika”.

  • autoDiscardable

    wartość logiczna

    Chrome 54 lub nowsza

    Określa, czy karta może zostać automatycznie zamknięta przez przeglądarkę, gdy zasoby są ograniczone.

  • odrzucono

    wartość logiczna

    Chrome 54 lub nowsza

    Czy karta została zamknięta. Odrzucona karta to karta, 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.

  • favIconUrl

    ciąg znaków opcjonalny

    Adres URL favikony karty. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs" lub uprawnienia hosta do strony. Może to być też pusty ciąg znaków, jeśli karta się wczytuje.

  • zawieszony

    wartość logiczna

    Chrome 132 lub nowsza

    Czy karta jest zablokowana. Zablokowana karta nie może wykonywać zadań, w tym modułów obsługi zdarzeń ani liczników czasu. Jest widoczna na pasku kart, a jej zawartość jest wczytywana do pamięci. Po aktywacji zostanie odblokowane.

  • groupId

    liczba

    Chrome 88 lub nowsza

    Identyfikator grupy, do której należy karta.

  • wysokość

    number opcjonalny

    Wysokość karty w pikselach.

  • wyróżniona

    wartość logiczna

    Czy karta jest wyróżniona.

  • id

    number 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 sessions API. W takim przypadku może być obecny identyfikator sesji. Identyfikator karty można też ustawić na chrome.tabs.TAB_ID_NONE w przypadku aplikacji i okien narzędzi deweloperskich.

  • incognito

    wartość logiczna

    Określa, czy karta znajduje się w oknie incognito.

  • indeks

    liczba

    Indeks karty w oknie liczony od zera.

  • lastAccessed

    liczba

    Chrome 121 lub nowsza

    Ostatni raz, gdy karta stała się aktywna w swoim oknie, w milisekundach od początku epoki.

  • mutedInfo

    MutedInfo opcjonalny

    Chrome 46 lub nowsza

    Stan wyciszenia karty i przyczyna ostatniej zmiany stanu.

  • openerTabId

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

  • pendingUrl

    ciąg znaków opcjonalny

    Chrome 79 lub nowsza

    Adres URL, do którego przechodzi karta, zanim zostanie zatwierdzony. Ta właściwość występuje tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs" lub uprawnienia hosta do strony i oczekuje na nawigację.

  • przypięty

    wartość logiczna

    Czy karta jest przypięta.

  • wybrano

    wartość logiczna

    Wycofano

    Użyj tabs.Tab.highlighted.

    Określa, czy karta jest wybrana.

  • sessionId

    ciąg znaków opcjonalny

    Identyfikator sesji używany do jednoznacznego identyfikowania karty uzyskanej z interfejsu sessions API.

  • splitViewId

    number opcjonalny

    Chrome 140+

    Identyfikator widoku dzielonego, do którego należy karta.

  • status

    TabStatus opcjonalny

    Stan wczytywania karty.

  • tytuł

    ciąg znaków opcjonalny

    Tytuł karty. Ta właściwość jest obecna tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs" lub uprawnienia hosta do strony.

  • URL

    ciąg znaków 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.

  • windowId

    liczba

    Identyfikator okna zawierającego kartę.

TabStatus

Chrome 44 lub nowszy

Stan wczytywania karty.

Typ wyliczeniowy

„unloaded”

"loading"

„complete”

WindowType

Chrome 44 lub nowszy

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

  • defaultZoomFactor

    number opcjonalny

    Chrome 43 lub nowsza

    Służy do zwracania domyślnego poziomu powiększenia bieżącej karty w wywołaniach funkcji tabs.getZoomSettings.

  • tryb

    ZoomSettingsMode opcjonalnie

    Określa sposób obsługi zmian powiększenia, czyli podmiot odpowiedzialny za rzeczywiste skalowanie strony. Domyślnie jest to automatic.

  • zakres

    ZoomSettingsScope opcjonalny

    Określa, czy zmiany powiększenia mają być zachowywane dla źródła strony, czy mają obowiązywać tylko na tej karcie. Domyślnie jest to per-origin w trybie automatic i per-tab w pozostałych przypadkach.

ZoomSettingsMode

Chrome 44 lub nowszy

Określa sposób obsługi zmian powiększenia, czyli podmiot odpowiedzialny za rzeczywiste skalowanie strony. Domyślnie jest to automatic.

Typ wyliczeniowy

„automatic”
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 per-origin powiększania, 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

Chrome 44 lub nowszy

Określa, czy zmiany powiększenia mają być zachowywane dla źródła strony, czy mają obowiązywać tylko na tej karcie. Domyślnie jest to per-origin w trybie automatic i per-tab w pozostałych przypadkach.

Typ wyliczeniowy

„per-origin”
Zmiany powiększenia są zachowywane w przypadku pochodzenia powiększonej strony, tzn. wszystkie inne karty, na których otwarto to samo pochodzenie, również są powiększone. Ponadto per-origin zmiany powiększenia są zapisywane ze źródłem, co oznacza, że podczas przechodzenia do innych stron w tym samym źródle wszystkie są powiększane o ten sam współczynnik 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. Przeglądanie karty zawsze powoduje wczytywanie stron z per-originczynnikami powiększenia.

Właściwości

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 lub nowsza

Maksymalna liczba wywołań funkcji captureVisibleTab na sekundę. captureVisibleTab jest kosztowna i nie należy jej wywoływać zbyt często.

Wartość

2

SPLIT_VIEW_ID_NONE

Chrome 140+

Identyfikator reprezentujący brak podzielonej karty.

Wartość

-1

TAB_ID_NONE

Chrome 46 lub nowsza

Identyfikator reprezentujący brak karty przeglądarki.

Wartość

-1

TAB_INDEX_NONE

Chrome 123 lub nowsza

Indeks reprezentujący brak indeksu karty w obszarze tab_strip.

Wartość

-1

Metody

captureVisibleTab()

Obietnica
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

Zapisuje widoczny obszar aktywnej karty w określonym oknie. Aby wywołać tę metodę, rozszerzenie musi mieć uprawnienie <all_urls> lub activeTab. Oprócz witryn, do których rozszerzenia mają zwykle dostęp, ta metoda umożliwia rozszerzeniom przechwytywanie witryn zawierających informacje poufne, które w inny sposób są niedostępne, w tym stron ze schematem chrome:, stron innych rozszerzeń i adresów URL data:. Te witryny zawierające informacje poufne można przechwytywać tylko za pomocą uprawnienia activeTab. Adresy URL plików mogą być przechwytywane tylko wtedy, gdy rozszerzenie ma dostęp do plików.

Parametry

  • windowId

    number opcjonalny

    Okno docelowe. Domyślnie jest to bieżące okno.

  • Opcje

    ImageDetails opcjonalny

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (dataUrl: string) => void

    • dataUrl

      tekst

      Adres URL danych, który koduje obraz widocznego obszaru przechwyconej karty. Może być przypisany do właściwości „src” elementu HTML img w celu wyświetlenia.

Zwroty

  • Promise<string>

    Chrome 88 lub nowsza

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

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

Nawiązuje połączenie 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 sekcji Wysyłanie wiadomości do skryptu treści.

Parametry

  • tabId

    liczba

  • connectInfo

    obiekt opcjonalny

    • documentId

      ciąg znaków opcjonalny

      Chrome 106 lub nowsza

      Otwiera port dla konkretnego dokumentu zidentyfikowanego przez documentId, a nie dla wszystkich ramek na karcie.

    • frameId

      number opcjonalny

      Otwórz port dla konkretnej ramki oznaczonej symbolem frameId, a nie dla wszystkich ramek na karcie.

    • nazwa

      ciąg znaków 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.Port portu jest wywoływane, jeśli karta zostanie zamknięta lub nie istnieje.

create()

Obietnica
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

Tworzy nową kartę.

Parametry

  • createProperties

    obiekt

    • aktywna

      wartość logiczna opcjonalna

      Informacja o tym, czy karta ma stać się aktywną kartą w oknie. Nie ma wpływu na to, czy okno jest aktywne (patrz windows.update). Domyślnie ustawiona jest wartość true.

    • indeks

      number opcjonalny

      Pozycja, jaką karta powinna zajmować w oknie. Podana wartość jest ograniczona do zakresu od zera do liczby kart w oknie.

    • openerTabId

      number 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ęty

      wartość logiczna opcjonalna

      Określa, czy karta ma być przypięta. Domyślna wartość to false.

    • wybrano

      wartość logiczna opcjonalna

      Wycofano

      Użyj wartości active.

      Określa, czy karta ma stać się wybraną kartą w oknie. Domyślna wartość to true.

    • splitWithTabId

      number opcjonalny

      Chrome 155 lub nowszy

      Identyfikator istniejącej karty, z którą ma zostać utworzony widok dzielony. Jeśli określono kartę podziału, musi ona spełniać te warunki:

      • Nie może to być karta, która została już podzielona.
      • Musi znajdować się w tym samym oknie co nowo utworzona karta.
      • Jeśli podasz wartość windowId, musi być ona taka sama jak identyfikator okna karty z podziałem.
      • Jeśli podano wartość index, musi to być indeks sąsiadujący z kartą, z której nastąpiło rozdzielenie, i wpłynie na względne położenie nowo utworzonej karty.
    • URL

      ciąg znaków opcjonalny

      Adres URL, do którego ma przejść karta. Pełne i jednoznaczne adresy URL muszą zawierać schemat (np. „http://www.google.com”, a nie „www.google.com”). Adresy URL względne są względne względem bieżącej strony w rozszerzeniu. Domyślnie jest to strona Nowa karta.

    • windowId

      number opcjonalny

      Okno, w którym ma zostać utworzona nowa karta. Domyślnie jest to bieżące okno.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab: Tab) => void

    • karta

      utworzoną kartę,

Zwroty

  • Promise<Tab>

    Chrome 88 lub nowsza

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

createSplit()

Promise Chrome 155+
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

Dzieli 2 istniejące karty na widok dzielony.

Parametry

  • tabIds

    [number, number]

    Tablica zawierająca dokładnie 2 identyfikatory kart, które mają być połączone w widoku dzielonym. Wszystkie karty muszą spełniać te warunki:

    Muszą być sąsiadujące. Nie mogą być już w widoku podzielonym. Muszą mieć pasujące stany windowId, pinned i groupId.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (splitViewId: number) => void

    • splitViewId

      liczba

      Identyfikator nowo utworzonego widoku dzielonego zawierającego określone karty.

Zwroty

  • Promise<number>

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

detectLanguage()

Obietnica
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

Wykrywa główny język treści na karcie.

Parametry

  • tabId

    number opcjonalny

    Domyślnie jest to aktywna karta bieżącego okna.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (language: string) => void

    • language

      tekst

      Kod języka ISO, np. en lub fr. Pełną listę języków obsługiwanych przez tę metodę znajdziesz w kLanguageInfoTable. Sprawdzane są kolumny od drugiej do czwartej i zwracana jest pierwsza wartość niebędąca wartością NULL, z wyjątkiem chińskiego uproszczonego, w przypadku którego zwracana jest wartość zh-CN. W przypadku nieznanego lub niezdefiniowanego języka zwracana jest wartość und.

Zwroty

  • Promise<string>

    Chrome 88 lub nowsza

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

discard()

Promise Chrome 54+
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)
: Promise<Tab | undefined>

Zwalnia kartę z pamięci. Odrzucone karty są nadal widoczne na pasku kart i są ponownie wczytywane po aktywowaniu.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, która ma zostać odrzucona. Jeśli jest określona, karta jest odrzucana, chyba że jest aktywna lub została 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ć.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab?: Tab) => void

    • karta

      Tab opcjonalny

      Odrzucona karta, jeśli została odrzucona. W przeciwnym razie wartość undefined.

Zwroty

  • Promise<Tab | undefined>

    Chrome 88 lub nowsza

    Zwraca wartość po zakończeniu operacji.

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

duplicate()

Obietnica
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

Duplikuje kartę.

Parametry

  • tabId

    liczba

    Identyfikator karty do zduplikowania.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab?: Tab) => void

    • karta

      Tab opcjonalny

      Szczegóły zduplikowanej karty. Właściwości url, pendingUrl, title i favIconUrl są uwzględniane w obiekcie tabs.Tab tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs" lub uprawnienia hosta do strony.

Zwroty

  • Promise<Tab | undefined>

    Chrome 88 lub nowsza

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

executeScript()

Promise &leq; MV2 Wycofane w Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

Zastąpione przez scripting.executeScript w platformie Manifest V3.

Umieszcza kod JavaScript na stronie. Szczegółowe informacje znajdziesz w sekcji programowe wstrzykiwanie w dokumencie dotyczącym skryptów treści.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, na której ma zostać uruchomiony skrypt. Domyślnie jest to aktywna karta bieżącego okna.

  • szczegóły

    Szczegóły skryptu do uruchomienia. Musisz ustawić właściwość kodu lub pliku, ale nie możesz ustawić obu jednocześnie.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (result?: any[]) => void

    • wynik

      any[] opcjonalny

      Wynik działania skryptu w każdej wstrzykniętej klatce.

Zwroty

  • Promise<any[] | undefined>

    Chrome 88 lub nowsza

    Zostanie rozwiązana po wykonaniu całego kodu JavaScript.

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

get()

Obietnica
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

Pobiera szczegóły określonej karty.

Parametry

  • tabId

    liczba

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab: Tab) => void

Zwroty

  • Promise<Tab>

    Chrome 88 lub nowsza

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

getAllInWindow()

Promise &leq; MV2 Wycofany
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

Użyj tabs.query {windowId: windowId}.

Pobiera szczegółowe informacje o wszystkich kartach w określonym oknie.

Parametry

  • windowId

    number opcjonalny

    Domyślnie jest to bieżące okno.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tabs: Tab[]) => void

Zwroty

  • Promise<Tab[]>

    Chrome 88 lub nowsza

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

getCurrent()

Obietnica
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

Pobiera kartę, z której wywoływany jest ten skrypt. Zwraca wartość undefined, jeśli wywołano ją w kontekście innym niż karta (np. na stronie w tle lub w widoku wyskakującym).

Parametry

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab?: Tab) => void

    • karta

      Tab opcjonalny

Zwroty

  • Promise<Tab | undefined>

    Chrome 88 lub nowsza

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

getSelected()

Promise &leq; MV2 Wycofany
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

Użyj tabs.query {active: true}.

Pobiera kartę wybraną w określonym oknie.

Parametry

  • windowId

    number opcjonalny

    Domyślnie jest to bieżące okno.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab: Tab) => void

Zwroty

  • Promise<Tab>

    Chrome 88 lub nowsza

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

getZoom()

Obietnica
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

Pobiera bieżący współczynnik powiększenia określonej karty.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, z której ma zostać pobrany bieżący współczynnik powiększenia. Domyślnie jest to aktywna karta bieżącego okna.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (zoomFactor: number) => void

    • zoomFactor

      liczba

      Bieżący współczynnik powiększenia karty.

Zwroty

  • Promise<number>

    Chrome 88 lub nowsza

    Zwraca bieżący współczynnik powiększenia karty po jego pobraniu.

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

getZoomSettings()

Obietnica
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

Pobiera bieżące ustawienia powiększenia określonej karty.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, z której mają zostać pobrane bieżące ustawienia powiększenia. Domyślnie jest to aktywna karta bieżącego okna.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      Bieżące ustawienia powiększenia karty.

Zwroty

  • Promise<ZoomSettings>

    Chrome 88 lub nowsza

    Zwraca bieżące ustawienia powiększenia karty.

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

goBack()

Promise Chrome 72 lub nowszy
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Wróć do poprzedniej strony, jeśli jest dostępna.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, do której chcesz wrócić. Domyślnie jest to wybrana karta bieżącego okna.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

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

goForward()

Promise Chrome 72 lub nowszy
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Przejdź do następnej strony, jeśli jest dostępna.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, do której chcesz przejść; domyślnie jest to wybrana karta bieżącego okna.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

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

group()

Promise Chrome 88 lub nowszy
chrome.tabs.group(
  options: object,
  callback?: function,
)
: Promise<number>

Dodaje co najmniej 1 kartę do określonej grupy lub, jeśli nie podano grupy, dodaje podane karty do nowo utworzonej grupy.

Parametry

  • Opcje

    obiekt

    • createProperties

      obiekt opcjonalny

      Konfiguracje do tworzenia grupy. Nie można używać, jeśli identyfikator grupy jest już określony.

      • windowId

        number opcjonalny

        Okno nowej grupy. Domyślnie jest to bieżące okno.

    • groupId

      number opcjonalny

      Identyfikator grupy, do której chcesz dodać karty. Jeśli nie zostanie podana, zostanie utworzona nowa grupa.

    • tabIds

      liczba | [liczba, ...liczba[]]

      Identyfikator karty lub lista identyfikatorów kart do dodania do określonej grupy.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (groupId: number) => void

    • groupId

      liczba

      Identyfikator grupy, do której dodano karty.

Zwroty

  • Promise<number>

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

highlight()

Obietnica
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: 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

  • highlightInfo

    obiekt

    • karty,

      number | number[]

      Co najmniej jeden indeks karty do wyróżnienia.

    • windowId

      number opcjonalny

      Okno zawierające karty.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (window: Window) => void

    • okno

      Zawiera szczegóły okna, którego karty zostały wyróżnione.

Zwroty

  • Chrome 88 lub nowsza

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

insertCSS()

Promise &leq; MV2 Wycofane w Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

Zastąpione przez scripting.insertCSS w platformie Manifest V3.

Wstrzykiwanie kodu CSS na stronie. Style wstawione tą metodą można usunąć za pomocą scripting.removeCSS. Szczegółowe informacje znajdziesz w sekcji programowe wstrzykiwanie w dokumencie dotyczącym skryptów treści.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, na której ma zostać wstawiony kod CSS. Domyślnie jest to aktywna karta bieżącego okna.

  • szczegóły

    Szczegóły tekstu CSS do wstawienia. Musisz ustawić właściwość kodu lub pliku, ale nie możesz ustawić obu jednocześnie.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

    Zwraca obietnicę, gdy wszystkie style CSS zostaną wstawione.

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

move()

Obietnica
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

Przenosi jedną lub więcej kart na nową pozycję w oknie lub do nowego okna. Pamiętaj, że karty można przenosić tylko do i z normalnych okien (window.type === „normal”).

Parametry

  • tabIds

    number | number[]

    Identyfikator karty lub lista identyfikatorów kart do przeniesienia.

  • moveProperties

    obiekt

    • indeks

      liczba

      Pozycja, na którą chcesz przenieść okno. Użyj -1, aby umieścić kartę na końcu okna.

    • windowId

      number opcjonalny

      Domyślnie jest to okno, w którym znajduje się obecnie karta.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tabs: Tab | Tab[]) => void

    • karty,

      Karta | Karta[]

      Szczegóły przeniesionych kart.

Zwroty

  • Promise<Tab | Tab[]>

    Chrome 88 lub nowsza

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

query()

Obietnica
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: 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

  • queryInfo

    obiekt

    • aktywna

      wartość logiczna opcjonalna

      Informacja o tym, czy karty są aktywne w swoich oknach.

    • audible

      wartość logiczna opcjonalna

      Chrome 45 lub nowszy

      Czy karty są słyszalne.

    • autoDiscardable

      wartość logiczna opcjonalna

      Chrome 54 lub nowsza

      Określa, czy karty mogą być automatycznie zamykane przez przeglądarkę, gdy zasoby są ograniczone.

    • currentWindow

      wartość logiczna opcjonalna

      Czy karty znajdują się w bieżącym oknie.

    • odrzucono

      wartość logiczna opcjonalna

      Chrome 54 lub nowsza

      Czy karty są zamykane. Odrzucona karta to karta, 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.

    • zawieszony

      wartość logiczna opcjonalna

      Chrome 132 lub nowsza

      Czy karty są zablokowane. Zablokowana karta nie może wykonywać zadań, w tym modułów obsługi zdarzeń ani liczników czasu. Jest widoczna na pasku kart, a jej zawartość jest wczytywana do pamięci. Po aktywacji zostanie odblokowane.

    • groupId

      number opcjonalny

      Chrome 88 lub nowsza

      Identyfikator grupy, w której znajdują się karty, lub tabGroups.TAB_GROUP_ID_NONE w przypadku kart niedodanych do grupy.

    • wyróżniona

      wartość logiczna opcjonalna

      Określa, czy karty są wyróżnione.

    • indeks

      number opcjonalny

      Położenie kart w oknach.

    • lastFocusedWindow

      wartość logiczna opcjonalna

      Czy karty znajdują się w ostatnim aktywnym oknie.

    • Wyciszono

      wartość logiczna opcjonalna

      Chrome 45 lub nowszy

      Czy karty są wyciszone.

    • przypięty

      wartość logiczna opcjonalna

      Czy karty są przypięte.

    • splitViewId

      number opcjonalny

      Chrome 140+

      Identyfikator widoku dzielonego, w którym znajdują się karty, lub tabs.SPLIT_VIEW_ID_NONE w przypadku kart, które nie znajdują się w widoku dzielonym.

    • status

      TabStatus opcjonalny

      Stan wczytywania karty.

    • tytuł

      ciąg znaków opcjonalny

      Dopasowywanie tytułów stron do wzorca. Ta właściwość jest ignorowana, jeśli rozszerzenie nie ma uprawnienia "tabs" lub uprawnień hosta do strony.

    • URL

      string | string[] opcjonalnie

      Dopasowywanie kart 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.

    • windowId

      number opcjonalny

      Identyfikator okna nadrzędnego lub windows.WINDOW_ID_CURRENT w przypadku bieżącego okna.

    • windowType

      WindowType opcjonalny

      Typ okna, w którym znajdują się karty.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (result: Tab[]) => void

Zwroty

  • Promise<Tab[]>

    Chrome 88 lub nowsza

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

reload()

Obietnica
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

Odśwież kartę.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty do ponownego wczytania. Domyślnie jest to wybrana karta bieżącego okna.

  • reloadProperties

    obiekt opcjonalny

    • bypassCache

      wartość logiczna opcjonalna

      Określa, czy pominąć lokalne buforowanie. Domyślna wartość to false.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

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

remove()

Obietnica
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

Zamyka co najmniej 1 kartę.

Parametry

  • tabIds

    number | number[]

    Identyfikator karty lub lista identyfikatorów kart do zamknięcia.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

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

removeCSS()

Promise Chrome 87 lub nowszy &leq; MV2 Wycofane w Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

Zastąpione przez scripting.removeCSS w platformie Manifest V3.

Usuwa ze strony CSS, który został wcześniej wstrzyknięty przez wywołanie funkcji scripting.insertCSS.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, z której ma zostać usunięty arkusz CSS. Domyślnie jest to aktywna karta bieżącego okna.

  • Szczegóły tekstu CSS do usunięcia. Musisz ustawić właściwość kodu lub pliku, ale nie możesz ustawić obu jednocześnie.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

    Zwraca wartość, gdy wszystkie style CSS zostaną usunięte.

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

sendMessage()

Obietnica
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

Wysyła pojedynczą wiadomość do skryptów treści na określonej karcie. Zdarzenie runtime.onMessage jest wywoływane w każdym skrypcie treści działającym w określonej karcie bieżącego rozszerzenia.

Parametry

  • tabId

    liczba

  • wiadomość

    każdy

    Wiadomość do wysłania. Ta wiadomość powinna być obiektem, który można przekształcić w JSON.

  • Opcje

    obiekt opcjonalny

    • documentId

      ciąg znaków opcjonalny

      Chrome 106 lub nowsza

      Wysyłanie wiadomości do konkretnego dokumentu zidentyfikowanego przez documentId zamiast do wszystkich ramek na karcie.

    • frameId

      number opcjonalny

      Wysyłanie wiadomości do konkretnej ramki zidentyfikowanej przez frameId zamiast do wszystkich ramek na karcie.

  • callback

    funkcja opcjonalna

    Chrome 99 lub nowsza

    Parametr callback wygląda tak:

    (response: any) => void

    • odpowiedź

      każdy

      Obiekt odpowiedzi JSON wysłany przez moduł obsługi wiadomości.

Zwroty

  • Promise<any>

    Chrome 99 lub nowsza

    Obietnica, która jest spełniana z odpowiedzią ze skryptu treści. Jeśli podczas łączenia z określoną kartą wystąpi błąd, obietnica zostanie odrzucona.

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

sendRequest()

Promise &leq; MV2 Wycofany
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

Użyj runtime.sendMessage.

Wysyła pojedyncze żądanie do skryptów treści na określonej karcie z opcjonalnym wywołaniem zwrotnym, które ma zostać uruchomione po odesłaniu odpowiedzi. Zdarzenie extension.onRequest jest wywoływane w każdym skrypcie treści działającym w określonej karcie bieżącego rozszerzenia.

Parametry

  • tabId

    liczba

  • żądanie

    każdy

  • callback

    funkcja opcjonalna

    Chrome 99 lub nowsza

    Parametr callback wygląda tak:

    (response: any) => void

    • odpowiedź

      każdy

      Obiekt odpowiedzi JSON wysłany przez moduł obsługi żądania. Jeśli podczas łączenia z określoną kartą wystąpi błąd, obietnica zostanie odrzucona.

Zwroty

  • Promise<any>

    Chrome 99 lub nowsza

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

setZoom()

Obietnica
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

Powiększa określoną kartę.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, którą chcesz powiększyć. Domyślnie jest to aktywna karta bieżącego okna.

  • zoomFactor

    liczba

    Nowy współczynnik powiększenia. Wartość 0 ustawia kartę na bieżący domyślny współczynnik powiększenia. Wartości większe niż 0 określają (prawdopodobnie niestandardowy) współczynnik powiększenia karty.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

    Rozwiązuje się po zmianie współczynnika powiększenia.

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

setZoomSettings()

Obietnica
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

Ustawia ustawienia powiększenia dla określonej karty, które określają sposób obsługi zmian powiększenia. Te ustawienia są resetowane do wartości domyślnych po przejściu na kartę.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, dla której chcesz zmienić ustawienia powiększenia. Domyślnie jest to aktywna karta bieżącego okna.

  • zoomSettings

    Określa sposób obsługi zmian powiększenia i zakres, w jakim są one stosowane.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 88 lub nowsza

    Problem znika po zmianie ustawień powiększenia.

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

ungroup()

Promise Chrome 88 lub nowszy
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

Usuwa co najmniej 1 kartę z odpowiednich grup. Jeśli jakieś grupy staną się puste, zostaną usunięte.

Parametry

  • tabIds

    number | [number, ...number[]]

    Identyfikator karty lub lista identyfikatorów kart do usunięcia z odpowiednich grup.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

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

unsplit()

Promise Chrome 155+
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

Rozdziela karty w widoku dzielonym na osobne karty.

Parametry

  • splitViewId

    liczba

    Identyfikator widoku dzielonego do rozdzielenia.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

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

update()

Obietnica
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

Modyfikuje właściwości karty. Właściwości, które nie są określone w updateProperties, nie są modyfikowane.

Parametry

  • tabId

    number opcjonalny

    Domyślnie jest to wybrana karta bieżącego okna.

  • updateProperties

    obiekt

    • aktywna

      wartość logiczna opcjonalna

      Określa, czy karta ma być aktywna. Nie ma wpływu na to, czy okno jest aktywne (patrz windows.update).

    • autoDiscardable

      wartość logiczna opcjonalna

      Chrome 54 lub nowsza

      Określa, czy karta powinna być automatycznie odrzucana przez przeglądarkę, gdy zasoby są ograniczone.

    • wyróżniona

      wartość logiczna opcjonalna

      Dodaje lub usuwa kartę z bieżącego wyboru.

    • Wyciszono

      wartość logiczna opcjonalna

      Chrome 45 lub nowszy

      Określa, czy karta ma być wyciszona.

    • openerTabId

      number opcjonalny

      Identyfikator karty, która otworzyła tę kartę. Jeśli zostanie określona, karta otwierająca musi znajdować się w tym samym oknie co ta karta.

    • przypięty

      wartość logiczna opcjonalna

      Określa, czy karta ma być przypięta.

    • wybrano

      wartość logiczna opcjonalna

      Wycofano

      Użyj wyróżnionego.

      Określa, czy karta ma być wybrana.

    • URL

      ciąg znaków opcjonalny

      Adres URL, do którego ma przejść karta. Adresy URL JavaScriptu nie są obsługiwane. Zamiast nich używaj scripting.executeScript.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (tab?: Tab) => void

    • karta

      Tab opcjonalny

      Szczegóły zaktualizowanej karty. Właściwości url, pendingUrl, title i favIconUrl są uwzględniane w obiekcie tabs.Tab tylko wtedy, gdy rozszerzenie ma uprawnienie "tabs" lub uprawnienia hosta do strony.

Zwroty

  • Promise<Tab | undefined>

    Chrome 88 lub nowsza

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

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

  • callback

    funkcja

    Parametr callback wygląda tak:

    (activeInfo: object) => void

    • activeInfo

      obiekt

      • tabId

        liczba

        Identyfikator karty, która stała się aktywna.

      • windowId

        liczba

        Identyfikator okna, w którym zmieniono aktywną kartę.

onActiveChanged

&leq; MV2 Wycofane
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Użyj tabs.onActivated.

Wywoływane, gdy zmieni się wybrana 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ń tabs.onUpdated, aby otrzymywać powiadomienia o ustawieniu adresu URL.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, selectInfo: object) => void

    • tabId

      liczba

    • selectInfo

      obiekt

      • windowId

        liczba

        Identyfikator okna, w którym nastąpiła zmiana wybranej karty.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

Wywoływane, gdy karta jest dołączana do okna, np. po przeniesieniu jej między oknami.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, attachInfo: object) => void

    • tabId

      liczba

    • attachInfo

      obiekt

      • newPosition

        liczba

      • newWindowId

        liczba

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

Wywoływane, gdy tworzona jest karta. Pamiętaj, że adres URL karty i przynależność do grupy 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.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tab: Tab) => void

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

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, detachInfo: object) => void

    • tabId

      liczba

    • detachInfo

      obiekt

      • oldPosition

        liczba

      • oldWindowId

        liczba

onHighlightChanged

&leq; MV2 Wycofane
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Użyj tabs.onHighlighted.

Wywoływane, gdy zmienią się wyróżnione lub wybrane karty w oknie.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (selectInfo: object) => void

    • selectInfo

      obiekt

      • tabIds

        number[]

        Wszystkie wyróżnione karty w oknie.

      • windowId

        liczba

        Okno, którego karty zostały zmienione.

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

Wywoływane, gdy zmienią się wyróżnione lub wybrane karty w oknie.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (highlightInfo: object) => void

    • highlightInfo

      obiekt

      • tabIds

        number[]

        Wszystkie wyróżnione karty w oknie.

      • windowId

        liczba

        Okno, którego karty uległy zmianie.

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

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, moveInfo: object) => void

    • tabId

      liczba

    • moveInfo

      obiekt

      • fromIndex

        liczba

      • toIndex

        liczba

      • windowId

        liczba

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

Uruchamiane po zamknięciu karty.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, removeInfo: object) => void

    • tabId

      liczba

    • removeInfo

      obiekt

      • isWindowClosing

        wartość logiczna

        Wartość „prawda”, jeśli karta została zamknięta, ponieważ zamknięto okno nadrzędne.

      • windowId

        liczba

        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 renderowania wstępnego lub wyszukiwania dynamicznego.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      liczba

    • removedTabId

      liczba

onSelectionChanged

&leq; MV2 Wycofane
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Użyj tabs.onActivated.

Wywoływane, gdy zmieni się wybrana karta w oknie.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, selectInfo: object) => void

    • tabId

      liczba

    • selectInfo

      obiekt

      • windowId

        liczba

        Identyfikator okna, w którym nastąpiła zmiana wybranej karty.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

Wywoływane, gdy karta zostanie zaktualizowana.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      liczba

    • changeInfo

      obiekt

      • audible

        wartość logiczna opcjonalna

        Chrome 45 lub nowszy

        Nowy stan dźwięku karty.

      • autoDiscardable

        wartość logiczna opcjonalna

        Chrome 54 lub nowsza

        Nowy stan karty, który można automatycznie odrzucić.

      • odrzucono

        wartość logiczna opcjonalna

        Chrome 54 lub nowsza

        Nowy stan karty po odrzuceniu.

      • favIconUrl

        ciąg znaków opcjonalny

        Nowy adres URL favikony karty.

      • zawieszony

        wartość logiczna opcjonalna

        Chrome 132 lub nowsza

        Nowy stan zamrożenia karty.

      • groupId

        number opcjonalny

        Chrome 88 lub nowsza

        Nowa grupa karty.

      • mutedInfo

        MutedInfo opcjonalny

        Chrome 46 lub nowsza

        Nowy stan wyciszenia karty i powód zmiany.

      • przypięty

        wartość logiczna opcjonalna

        Nowy stan przypięcia karty.

      • splitViewId

        number opcjonalny

        Chrome 140+

        Nowy widok dzielony karty.

      • status

        TabStatus opcjonalny

        Stan wczytywania karty.

      • tytuł

        ciąg znaków opcjonalny

        Chrome 48 lub nowsza

        Nowy tytuł karty.

      • URL

        ciąg znaków opcjonalny

        Adres URL karty, jeśli uległ zmianie.

    • karta

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

Uruchamiane, gdy karta jest powiększana.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      obiekt

      • newZoomFactor

        liczba

      • oldZoomFactor

        liczba

      • tabId

        liczba

      • zoomSettings