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 instancjachtabs.Tab:url,pendingUrl,titleifavIconUrl. - 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.TabMogą też wchodzić w bezpośrednią interakcję z pasującymi kartami za pomocą metod takich jaktabs.captureVisibleTab(),tabs.executeScript(),tabs.insertCSS()itabs.removeCSS(). - Uprawnienie „activeTab”
activeTabprzyznaje rozszerzeniu tymczasowe uprawnienia do hosta w bieżącej karcie w odpowiedzi na wywołanie przez użytkownika. W przeciwieństwie do uprawnień hostaactiveTabnie 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
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
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 nowszyCzy 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 nowszaOkreśla, czy karta może zostać automatycznie zamknięta przez przeglądarkę, gdy zasoby są ograniczone.
-
odrzucono
wartość logiczna
Chrome 54 lub nowszaCzy 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 nowszaCzy 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 nowszaIdentyfikator 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
sessionsAPI. W takim przypadku może być obecny identyfikator sesji. Identyfikator karty można też ustawić nachrome.tabs.TAB_ID_NONEw 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 nowszaOstatni raz, gdy karta stała się aktywna w swoim oknie, w milisekundach od początku epoki.
-
mutedInfo
MutedInfo opcjonalny
Chrome 46 lub nowszaStan 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 nowszaAdres 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
WycofanoUż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
sessionsAPI. -
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
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
-
defaultZoomFactor
number opcjonalny
Chrome 43 lub nowszaSł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-originw trybieautomaticiper-tabw pozostałych przypadkach.
ZoomSettingsMode
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
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
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
Identyfikator reprezentujący brak podzielonej karty.
Wartość
-1
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,
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
callbackwyglą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
imgw celu wyświetlenia.
-
Zwroty
-
Promise<string>
Chrome 88 lub nowszaObietnice 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 nowszaOtwiera 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.Portportu jest wywoływane, jeśli karta zostanie zamknięta lub nie istnieje.
create()
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
WycofanoUż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 nowszyIdentyfikator 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
callbackwygląda tak:(tab: Tab) => void
-
karta
utworzoną kartę,
-
Zwroty
-
Promise<Tab>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
createSplit()
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,pinnedigroupId. -
callback
funkcja opcjonalna
Parametr
callbackwyglą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()
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
callbackwygląda tak:(language: string) => void
-
language
tekst
Kod języka ISO, np.
enlubfr. 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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
discard()
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
callbackwyglą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 nowszaZwraca 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()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
): Promise<Tab | undefined>
Duplikuje kartę.
Parametry
-
tabId
liczba
Identyfikator karty do zduplikowania.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(tab?: Tab) => void
Zwroty
-
Promise<Tab | undefined>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
executeScript()
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
callbackwyglą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 nowszaZostanie 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()
chrome.tabs.get(
tabId: number,
callback?: function,
): Promise<Tab>
Pobiera szczegóły określonej karty.
Parametry
-
tabId
liczba
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(tab: Tab) => void
-
karta
-
Zwroty
-
Promise<Tab>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getAllInWindow()
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
callbackwygląda tak:(tabs: Tab[]) => void
-
karty,
Tab[]
-
Zwroty
-
Promise<Tab[]>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getCurrent()
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
Zwroty
-
Promise<Tab | undefined>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getSelected()
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
callbackwygląda tak:(tab: Tab) => void
-
karta
-
Zwroty
-
Promise<Tab>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getZoom()
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
callbackwygląda tak:(zoomFactor: number) => void
-
zoomFactor
liczba
Bieżący współczynnik powiększenia karty.
-
Zwroty
-
Promise<number>
Chrome 88 lub nowszaZwraca 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()
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
callbackwygląda tak:(zoomSettings: ZoomSettings) => void
-
zoomSettings
Bieżące ustawienia powiększenia karty.
-
Zwroty
-
Promise<ZoomSettings>
Chrome 88 lub nowszaZwraca 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()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
goForward()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
group()
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
callbackwyglą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()
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
callbackwygląda tak:(window: Window) => void
-
okno
Zawiera szczegóły okna, którego karty zostały wyróżnione.
-
Zwroty
-
Promise<windows.Window>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
insertCSS()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaZwraca 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()
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
callbackwygląda tak:(tabs: Tab | Tab[]) => void
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.
query()
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 nowszyCzy karty są słyszalne.
-
autoDiscardable
wartość logiczna opcjonalna
Chrome 54 lub nowszaOkreś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 nowszaCzy 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 nowszaCzy 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 nowszaIdentyfikator grupy, w której znajdują się karty, lub
tabGroups.TAB_GROUP_ID_NONEw 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 nowszyCzy 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_NONEw 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_CURRENTw przypadku bieżącego okna. -
windowType
WindowType opcjonalny
Typ okna, w którym znajdują się karty.
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: Tab[]) => void
-
wynik
Tab[]
-
Zwroty
-
Promise<Tab[]>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
reload()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
remove()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
removeCSS()
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
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaZwraca 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()
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 nowszaWysyłanie wiadomości do konkretnego dokumentu zidentyfikowanego przez
documentIdzamiast do wszystkich ramek na karcie. -
frameId
number opcjonalny
Wysyłanie wiadomości do konkretnej ramki zidentyfikowanej przez
frameIdzamiast do wszystkich ramek na karcie.
-
-
callback
funkcja opcjonalna
Chrome 99 lub nowszaParametr
callbackwyglą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 nowszaObietnica, 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()
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 nowszaParametr
callbackwyglą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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setZoom()
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ść
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. -
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaRozwią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()
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
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaProblem 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()
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
callbackwyglą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()
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
callbackwyglą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()
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 nowszaOkreś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 nowszyOkreś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
WycofanoUż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
callbackwygląda tak:(tab?: Tab) => void
Zwroty
-
Promise<Tab | undefined>
Chrome 88 lub nowszaObietnice 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
callbackwyglą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
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
callbackwyglą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
callbackwyglą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.
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
callbackwygląda tak:(tabId: number, detachInfo: object) => void
-
tabId
liczba
-
detachInfo
obiekt
-
oldPosition
liczba
-
oldWindowId
liczba
-
-
onHighlightChanged
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
callbackwyglą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
callbackwyglą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
callbackwyglą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
callbackwyglą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
callbackwygląda tak:(addedTabId: number, removedTabId: number) => void
-
addedTabId
liczba
-
removedTabId
liczba
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Użyj tabs.onActivated.
Wywoływane, gdy zmieni się wybrana karta w oknie.
Parametry
-
callback
funkcja
Parametr
callbackwyglą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
callbackwygląda tak:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
liczba
-
changeInfo
obiekt
-
audible
wartość logiczna opcjonalna
Chrome 45 lub nowszyNowy stan dźwięku karty.
-
autoDiscardable
wartość logiczna opcjonalna
Chrome 54 lub nowszaNowy stan karty, który można automatycznie odrzucić.
-
odrzucono
wartość logiczna opcjonalna
Chrome 54 lub nowszaNowy stan karty po odrzuceniu.
-
favIconUrl
ciąg znaków opcjonalny
Nowy adres URL favikony karty.
-
zawieszony
wartość logiczna opcjonalna
Chrome 132 lub nowszaNowy stan zamrożenia karty.
-
groupId
number opcjonalny
Chrome 88 lub nowszaNowa grupa karty.
-
mutedInfo
MutedInfo opcjonalny
Chrome 46 lub nowszaNowy 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 nowszaNowy 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
callbackwygląda tak:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
obiekt
-
newZoomFactor
liczba
-
oldZoomFactor
liczba
-
tabId
liczba
-
zoomSettings
-
-