chrome.documentScan

Opis

Użyj interfejsu chrome.documentScan API, aby wykrywać i pobierać obrazy z podłączonych skanerów dokumentów.

Uprawnienia

documentScan

Dostępność

Chrome 44 i nowsze Tylko ChromeOS

Document Scan API

Interfejs Document Scan API umożliwia aplikacjom i rozszerzeniom wyświetlanie zawartości dokumentów papierowych na podłączonym skanerze dokumentów.

Typy

CancelScanResponse

Chrome 125 lub nowsza

Właściwości

  • zadanie

    ciąg znaków

    Zwraca ten sam uchwyt zadania, który został przekazany do funkcji cancelScan().

  • Wynik anulowania skanowania z backendu. Jeśli wynikiem jest OperationResult.SUCCESS lub OperationResult.CANCELLED, skanowanie zostało anulowane, a skaner jest gotowy do rozpoczęcia nowego skanowania. Jeśli wynik to OperationResult.DEVICE_BUSY , skaner nadal przetwarza żądanie anulowania. Dzwoniący powinien poczekać chwilę i ponownie spróbować wysłać żądanie. Pozostałe wartości wyników wskazują na trwały błąd, którego nie należy ponawiać.

CloseScannerResponse

Chrome 125 lub nowsza

Właściwości

  • Wynik zamknięcia skanera. Nawet jeśli ta wartość nie jest równa SUCCESS, uchwyt będzie nieprawidłowy i nie należy go używać do żadnych dalszych operacji.

  • scannerHandle

    ciąg znaków

    Ten sam uchwyt skanera, który został przekazany do funkcji closeScanner.

Configurability

Chrome 125 lub nowsza

Jak można zmienić opcję.

Typ wyliczeniowy

„NOT_CONFIGURABLE”
Opcja jest tylko do odczytu.

„SOFTWARE_CONFIGURABLE”
Opcję można ustawić w oprogramowaniu.

„HARDWARE_CONFIGURABLE”
Opcję można ustawić, przełączając lub naciskając przycisk na skanerze.

ConnectionType

Chrome 125 lub nowsza

Określa, w jaki sposób skaner jest podłączony do komputera.

Typ wyliczeniowy

„UNSPECIFIED”

„USB”

"NETWORK"

ConstraintType

Chrome 125 lub nowsza

Typ danych ograniczenia reprezentowanego przez OptionConstraint.

Typ wyliczeniowy

„INT_RANGE”
Ograniczenie zakresu wartości OptionType.INT. Właściwości min, maxquant obiektu OptionConstraint będą miały wartość long, a właściwość list będzie niezdefiniowana.

„FIXED_RANGE”
Ograniczenie dotyczące zakresu OptionType.FIXED wartości. Właściwości min, max i quant elementu OptionConstraint będą miały wartość double, a właściwość list będzie nieustawiona.

„INT_LIST”
Ograniczenie dotyczące konkretnej listy wartości OptionType.INT. Właściwość OptionConstraint.list będzie zawierać wartości long, a pozostałe właściwości będą nieustawione.

„FIXED_LIST”
Ograniczenie dotyczące konkretnej listy wartości OptionType.FIXED. Właściwość OptionConstraint.list będzie zawierać wartości double, a pozostałe właściwości będą nieustawione.

„STRING_LIST”
Ograniczenie dotyczące konkretnej listy wartości OptionType.STRING. Właściwość OptionConstraint.list będzie zawierać wartości DOMString, a pozostałe właściwości będą nieustawione.

DeviceFilter

Chrome 125 lub nowsza

Właściwości

  • lokalne

    wartość logiczna opcjonalna

    Zwraca tylko skanery podłączone bezpośrednio do komputera.

  • Bezpieczny

    wartość logiczna opcjonalna

    Zwraca tylko skanery, które korzystają z bezpiecznego transportu, np. USB lub TLS.

GetOptionGroupsResponse

Chrome 125 lub nowsza

Właściwości

  • grupy

    OptionGroup[] opcjonalne

    Jeśli result ma wartość SUCCESS, podaje listę grup opcji w kolejności dostarczonej przez sterownik skanera.

  • Wynik pobierania grup opcji. Jeśli wartość tego pola to SUCCESS, zostanie wypełnione pole groups.

  • scannerHandle

    ciąg znaków

    Ten sam uchwyt skanera, który został przekazany do funkcji getOptionGroups.

GetScannerListResponse

Chrome 125 lub nowsza

Właściwości

  • Wynik wyliczenia. Pamiętaj, że nawet jeśli wystąpi błąd, mogą zostać zwrócone częściowe wyniki.

  • skanery,

    Lista skanerów, które pasują do podanego DeviceFilter. Może być pusta.

OpenScannerResponse

Chrome 125 lub nowsza

Właściwości

  • Opcje

    obiekt opcjonalny

    Jeśli result ma wartość SUCCESS, udostępnia mapowanie klucz-wartość, w którym klucz jest opcją specyficzną dla urządzenia, a wartość jest instancją ScannerOption.

  • Wynik otwarcia skanera. Jeśli wartość tego parametru to SUCCESS, zostaną wypełnione właściwości scannerHandleoptions.

  • scannerHandle

    string opcjonalny

    Jeśli result ma wartość SUCCESS, jest to uchwyt skanera, którego można używać do dalszych operacji.

  • scannerId

    ciąg znaków

    Identyfikator skanera przekazany do openScanner().

OperationResult

Chrome 125 lub nowsza

Wyliczenie wskazujące wynik każdej operacji.

Typ wyliczeniowy

„UNKNOWN”
Wystąpił nieznany lub ogólny błąd.

„SUCCESS”
Operacja zakończyła się powodzeniem.

„UNSUPPORTED”
Operacja nie jest obsługiwana.

„ANULOWANO”
Operacja została anulowana.

„DEVICE_BUSY”
Urządzenie jest zajęte.

„INVALID”
Dane lub argument przekazany do metody są nieprawidłowe.

„WRONG_TYPE”
Podana wartość ma nieprawidłowy typ danych dla opcji bazowej.

„EOF”
Brak dostępnych danych.

„ADF_JAMMED”
Podajnik dokumentów jest zacięty.

„ADF_EMPTY”
Podajnik dokumentów jest pusty.

„COVER_OPEN”
Pokrywa skanera płaskiego jest otwarta.

„IO_ERROR”
Podczas komunikacji z urządzeniem wystąpił błąd.

„ACCESS_DENIED”
Urządzenie wymaga uwierzytelnienia.

„NO_MEMORY”
Na Chromebooku nie ma wystarczającej ilości pamięci, aby ukończyć operację.

„UNREACHABLE”
Urządzenie jest nieosiągalne.

„MISSING”
Urządzenie jest odłączone.

„INTERNAL_ERROR”
Wystąpił błąd w miejscu innym niż aplikacja wywołująca.

OptionConstraint

Chrome 125 lub nowsza

Właściwości

  • lista

    string[] | number[] opcjonalny

  • maksimum

    number opcjonalny

  • min

    number opcjonalny

  • quant

    number opcjonalny

OptionGroup

Chrome 125 lub nowsza

Właściwości

  • członkowie

    string[]

    Tablica nazw opcji w kolejności podanej przez sterownik.

  • tytuł

    ciąg znaków

    Zawiera tytuł do wydruku, np. „Opcje geometrii”.

OptionSetting

Chrome 125 lub nowsza

Właściwości

  • nazwa

    ciąg znaków

    Wskazuje nazwę opcji do ustawienia.

  • Wskazuje typ danych opcji. Żądany typ danych musi być zgodny z rzeczywistym typem danych opcji bazowej.

  • wartość

    string | number | boolean | number[] opcjonalnie

    Wskazuje wartość do ustawienia. Pozostaw to pole bez ustawień, aby poprosić o automatyczne ustawienie opcji, które mają włączoną funkcję autoSettable. Typ danych podany dla value musi być zgodny z type.

OptionType

Chrome 125 lub nowsza

Typ danych opcji.

Typ wyliczeniowy

„UNKNOWN”
Typ danych opcji jest nieznany. Właściwość value zostanie cofnięta.

„BOOL”
Właściwość value będzie miała wartość truefalse.

„INT”
Podpisana 32-bitowa liczba całkowita. Właściwość value będzie miała wartość long lub long[], w zależności od tego, czy opcja przyjmuje więcej niż jedną wartość.

„FIXED”
Liczba zmiennoprzecinkowa o podwójnej precyzji z zakresu od -32768 do 32767,9999 i rozdzielczości 1/65535. Właściwość value będzie miała wartość double lub double[], w zależności od tego, czy opcja przyjmuje więcej niż jedną wartość. Wartości typu double, których nie można dokładnie przedstawić, zostaną zaokrąglone do dostępnego zakresu i dokładności.

"STRING"
Ciąg dowolnych bajtów z wyjątkiem znaku NUL („\0”). Właściwość value będzie ciągiem DOMString.

„BUTTON”
Opcja tego typu nie ma wartości. Zamiast tego ustawienie opcji tego typu powoduje w sterowniku skanera efekt uboczny specyficzny dla danej opcji. Na przykład opcja typu przycisku może być używana przez sterownik skanera do wybierania wartości domyślnych lub do informowania automatycznego podajnika dokumentów o przejściu do następnego arkusza papieru.

„GROUP”
Opcja grupowania. Brak wartości. Jest to uwzględnione ze względu na zgodność, ale zwykle nie jest zwracane w wartościach ScannerOption. Użyj getOptionGroups(), aby pobrać listę grup z opcjami członków.

OptionUnit

Chrome 125 lub nowsza

Wskazuje typ danych dla ScannerOption.unit.

Typ wyliczeniowy

„UNITLESS”
Wartość jest liczbą bez jednostki. Może to być na przykład wartość progowa.

„PIXEL”
Wartość to liczba pikseli, np. wymiary skanu.

„BIT”
Wartość to liczba bitów, np. głębia kolorów.

„MM”
Wartość jest mierzona w milimetrach, np. wymiary skanu.

„DPI”
Wartość jest mierzona w punktach na cal, np. rozdzielczość.

„PERCENT”
Wartość jest procentem, np. jasność.

„MICROSECOND”
Wartość jest mierzona w mikrosekundach, np. czas ekspozycji.

ReadScanDataResponse

Chrome 125 lub nowsza

Właściwości

  • dane

    ArrayBuffer opcjonalny

    Jeśli wartość result to SUCCESS, zawiera kolejny fragment danych zeskanowanego obrazu. Jeśli result ma wartość EOF, zawiera ostatni fragment danych zeskanowanego obrazu.

  • estimatedCompletion

    number opcjonalny

    Jeśli wartość result to SUCCESS, szacunkowa ilość danych skanowania dostarczonych do tej pory (w zakresie od 0 do 100).

  • zadanie

    ciąg znaków

    Zwraca uchwyt zadania przekazany do readScanData().

  • Wynik odczytu danych. Jeśli jego wartość to SUCCESS, data zawiera następny (być może pusty) fragment danych obrazu gotowy do odczytu. Jeśli jego wartość to EOF, data zawiera ostatni fragment danych obrazu.

ScannerInfo

Chrome 125 lub nowsza

Właściwości

  • connectionType

    Określa, w jaki sposób skaner jest podłączony do komputera.

  • deviceUuid

    ciąg znaków

    Do dopasowywania do innych wpisów ScannerInfo, które wskazują to samo urządzenie fizyczne.

  • imageFormats

    string[]

    Tablica typów MIME, które można przesłać w żądaniu w przypadku zwracanych skanów.

  • producent

    ciąg znaków

    producent skanera;

  • model

    ciąg znaków

    Model skanera, jeśli jest dostępny, lub ogólny opis.

  • nazwa

    ciąg znaków

    Zrozumiała dla człowieka nazwa skanera, która będzie wyświetlana w interfejsie.

  • protocolType

    ciąg znaków

    Zrozumiały dla człowieka opis protokołu lub sterownika używanego do uzyskiwania dostępu do skanera, np. Mopria, WSD lub epsonds. Jest to przydatne przede wszystkim w przypadku, gdy użytkownik ma możliwość wyboru protokołu, jeśli urządzenie obsługuje ich kilka.

  • scannerId

    ciąg znaków

    Identyfikator konkretnego skanera.

  • Bezpieczny

    Wartość logiczna

    Jeśli wartość to „true”, połączenie skanera nie może zostać przechwycone przez pasywnego odbiorcę, takiego jak TLS lub USB.

ScannerOption

Chrome 125 lub nowsza

Właściwości

  • możliwość konfiguracji,

    Wskazuje, czy i jak można zmienić opcję.

  • ograniczenie

    OptionConstraint opcjonalny

    Określa OptionConstraint w bieżącej opcji skanera.

  • opis

    ciąg znaków

    Dłuższy opis opcji.

  • isActive

    Wartość logiczna

    Wskazuje, że opcja jest aktywna i można ją ustawić lub pobrać. Jeśli ma wartość Fałsz, właściwość value nie zostanie ustawiona.

  • isAdvanced

    Wartość logiczna

    Wskazuje, że interfejs nie powinien domyślnie wyświetlać tej opcji.

  • isAutoSettable

    Wartość logiczna

    Może być automatycznie ustawiony przez sterownik skanera.

  • isDetectable

    Wartość logiczna

    Wskazuje, że tę opcję można wykryć za pomocą oprogramowania.

  • isEmulated

    Wartość logiczna

    Emulowane przez sterownik skanera, jeśli ma wartość true.

  • nazwa

    ciąg znaków

    Nazwa opcji zawierająca małe litery ASCII, cyfry i myślniki. Znaki diakrytyczne są niedozwolone.

  • tytuł

    ciąg znaków

    Tytuł do wydrukowania w jednym wierszu.

  • Typ danych zawartych we właściwości value, który jest potrzebny do ustawienia tej opcji.

  • Jednostka

    Jednostka miary dla tej opcji.

  • wartość

    string | number | boolean | number[] opcjonalnie

    Bieżąca wartość opcji (w stosownych przypadkach). Pamiętaj, że typ danych tej właściwości musi być zgodny z typem danych określonym w type.

ScanOptions

Właściwości

  • maxImages

    number opcjonalny

    Liczba dozwolonych skanowanych obrazów. Wartość domyślna to 1.

  • mimeTypes

    string[] opcjonalne

    Typy MIME akceptowane przez rozmówcę.

ScanResults

Właściwości

  • dataUrls

    string[]

    Tablica adresów URL obrazów danych w formacie, który można przekazać jako wartość parametru „src” do tagu obrazu.

  • mimeType

    ciąg znaków

    Typ MIME elementu dataUrls.

SetOptionResult

Chrome 125 lub nowsza

Właściwości

  • nazwa

    ciąg znaków

    Zawiera nazwę ustawionej opcji.

  • Wskazuje wynik ustawienia opcji.

SetOptionsResponse

Chrome 125 lub nowsza

Właściwości

  • Opcje

    obiekt opcjonalny

    Zaktualizowane mapowanie klucz-wartość z nazw opcji na wartości ScannerOption zawierające nową konfigurację po próbie ustawienia wszystkich podanych opcji. Ma taką samą strukturę jak usługa optionsOpenScannerResponse.

    Ta właściwość zostanie ustawiona nawet wtedy, gdy niektóre opcje nie zostały ustawione, ale zostanie wycofana, jeśli pobieranie zaktualizowanej konfiguracji się nie powiedzie (np. jeśli skaner zostanie odłączony w trakcie skanowania).

  • wyniki

    Tablica wyników, po jednym dla każdego przekazanego parametru OptionSetting.

  • scannerHandle

    ciąg znaków

    Zwraca uchwyt skanera przekazany do setOptions().

StartScanOptions

Chrome 125 lub nowsza

Właściwości

  • reklamy

    ciąg znaków

    Określa typ MIME, w którym mają być zwracane zeskanowane dane.

  • maxReadSize

    number opcjonalny

    Jeśli podano wartość różną od zera, ogranicza maksymalną liczbę skanowanych bajtów zwracanych w jednej odpowiedzi readScanData do tej wartości. Najmniejsza dozwolona wartość to 32768 (32 KB). Jeśli ta właściwość nie jest określona, rozmiar zwróconego fragmentu może być równy rozmiarowi całego zeskanowanego obrazu.

StartScanResponse

Chrome 125 lub nowsza

Właściwości

  • zadanie

    string opcjonalny

    Jeśli result ma wartość SUCCESS, zwraca uchwyt, którego można użyć do odczytania danych skanowania lub anulowania zadania.

  • Wynik rozpoczęcia skanowania. Jeśli wartość tego pola to SUCCESS, zostanie wypełnione pole job.

  • scannerHandle

    ciąg znaków

    Zwraca ten sam uchwyt skanera, który został przekazany do funkcji startScan().

Metody

cancelScan()

Promise Chrome 125 lub nowszy
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

Anuluje rozpoczęte skanowanie i zwraca obietnicę, która jest realizowana za pomocą obiektu CancelScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.

Parametry

  • zadanie

    ciąg znaków

    Uchwyt aktywnego zadania skanowania zwrócony wcześniej przez wywołanie funkcji startScan.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (response: CancelScanResponse) => void

Zwroty

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

closeScanner()

Promise Chrome 125 lub nowszy
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

Zamyka skaner za pomocą przekazanego uchwytu i zwraca obietnicę, która jest realizowana za pomocą obiektu CloseScannerResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego. Nawet jeśli odpowiedź nie jest pozytywna, podany uchwyt staje się nieprawidłowy i nie należy go używać do dalszych operacji.

Parametry

  • scannerHandle

    ciąg znaków

    Określa uchwyt otwartego skanera, który został wcześniej zwrócony przez wywołanie funkcji openScanner.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (response: CloseScannerResponse) => void

Zwroty

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

getOptionGroups()

Promise Chrome 125 lub nowszy
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

Pobiera nazwy grup i opcje członków ze skanera otwartego wcześniej przez openScanner. Ta metoda zwraca obietnicę, która jest spełniana za pomocą obiektu GetOptionGroupsResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego przekazywane są do niego zwrócone dane.

Parametry

Zwroty

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

getScannerList()

Promise Chrome 125 lub nowszy
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

Pobiera listę dostępnych skanerów i zwraca obiekt Promise, który jest rozwiązywany za pomocą obiektu GetScannerListResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego przekazywane są do niego zwrócone dane.

Parametry

Zwroty

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

openScanner()

Promise Chrome 125 lub nowszy
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

Otwiera skaner z wyłącznym dostępem i zwraca Promise, który jest rozwiązywany za pomocą obiektu OpenScannerResponse. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zamiast tego przekazywane są do niego zwrócone dane.

Parametry

  • scannerId

    ciąg znaków

    Identyfikator skanera, który ma zostać otwarty. Ta wartość jest zwracana z poprzedniego wywołania funkcji getScannerList.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (response: OpenScannerResponse) => void

Zwroty

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

readScanData()

Promise Chrome 125 lub nowszy
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

Odczytuje następny fragment dostępnych danych obrazu z aktywnego uchwytu zadania i zwraca obietnicę, która jest realizowana za pomocą obiektu ReadScanDataResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.

**Uwaga: w przypadku wyniku odpowiedzi dopuszczalne jest wystąpienie SUCCESS z elementem data o zerowej długości. Oznacza to, że skaner nadal działa, ale nie ma jeszcze gotowych dodatkowych danych. Dzwoniący powinien poczekać chwilę i spróbować ponownie.

Po zakończeniu skanowania w odpowiedzi pojawi się wartość EOF. Ta odpowiedź może zawierać końcowy element data o wartości innej niż 0.

Parametry

Zwroty

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

scan()

Obietnica
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)
: Promise<ScanResults>

Wykonuje skanowanie dokumentu i zwraca obiekt Promise, który jest rozwiązywany za pomocą obiektu ScanResults. Jeśli do tej funkcji zostanie przekazane wywołanie zwrotne, zwrócone dane zostaną przekazane do niego.

Parametry

  • Opcje

    Obiekt zawierający parametry skanowania.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (result: ScanResults) => void

Zwroty

  • Promise<ScanResults>

    Chrome w wersji 96 lub nowszej

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

setOptions()

Promise Chrome 125 lub nowszy
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

Ustawia opcje na określonym skanerze i zwraca obietnicę, która jest spełniana przez obiekt SetOptionsResponse zawierający wynik próby ustawienia każdej wartości w kolejności przekazanego obiektu OptionSetting. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego.

Parametry

  • scannerHandle

    ciąg znaków

    Uchwyt skanera, na którym można ustawić opcje. Powinna to być wartość zwrócona wcześniej przez wywołanie funkcji openScanner.

  • Opcje

    Lista OptionSetting obiektów, które mają być zastosowane w skanerze.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (response: SetOptionsResponse) => void

Zwroty

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

startScan()

Promise Chrome 125 lub nowszy
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)
: Promise<StartScanResponse>

Rozpoczyna skanowanie na określonym skanerze i zwraca obietnicę, która jest spełniana za pomocą obiektu StartScanResponse. Jeśli używane jest wywołanie zwrotne, obiekt jest przekazywany do niego. Jeśli wywołanie się powiedzie, odpowiedź będzie zawierać uchwyt zadania, którego można użyć w kolejnych wywołaniach do odczytywania danych skanowania lub anulowania skanowania.

Parametry

  • scannerHandle

    ciąg znaków

    Uchwyt otwartego skanera. Powinna to być wartość zwrócona wcześniej przez wywołanie funkcji openScanner.

  • Obiekt StartScanOptions wskazujący opcje, które mają być używane podczas skanowania. Właściwość StartScanOptions.format musi być zgodna z jednym z wpisów zwróconych w ScannerInfo skanera.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (response: StartScanResponse) => void

Zwroty

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