refresh date: 2026-09-25 robots: noindex
Opis
Użyj interfejsu chrome.contentSettings API, aby zmienić ustawienia określające, czy witryny mogą korzystać z takich funkcji, jak pliki cookie, JavaScript i wtyczki. Ustawienia treści umożliwiają dostosowywanie działania Chrome w przypadku poszczególnych witryn, a nie globalnie.
Uprawnienia
contentSettingsPlik manifestu
Aby korzystać z interfejsu API, musisz zadeklarować uprawnienie „contentSettings” w pliku manifestu rozszerzenia. Przykład:
{
"name": "My extension",
...
"permissions": [
"contentSettings"
],
...
}
Wzorce ustawień treści
Za pomocą wzorców możesz określić, na które witryny mają wpływ poszczególne ustawienia treści. Na przykład:
https://*.youtube.com/* określa youtube.com i wszystkie jego subdomeny. Składnia wzorców ustawień treści jest taka sama jak w przypadku wzorców dopasowania, ale występują pewne różnice:
- W przypadku adresów URL
http,httpsiftpścieżka musi być symbolem wieloznacznym (/*). W przypadku adresów URLfileścieżka musi być w pełni określona i nie może zawierać symboli wieloznacznych. - W przeciwieństwie do wzorców dopasowania wzorce ustawień treści mogą określać numer portu. Jeśli określono numer portu, wzorzec pasuje tylko do witryn z tym portem. Jeśli nie podasz numeru portu, wzorzec będzie pasować do wszystkich portów.
Pierwszeństwo wzorca
Jeśli w przypadku danej witryny obowiązuje więcej niż 1 reguła ustawień treści, pierwszeństwo ma reguła z bardziej szczegółowym wzorcem.
Na przykład poniższe wzorce są uporządkowane według pierwszeństwa:
https://www.example.com/*https://*.example.com/*(dopasowuje domenę example.com i wszystkie subdomeny)<all_urls>(pasuje do każdego adresu URL)
Na to, jak szczegółowy jest wzorzec, wpływają 3 rodzaje symboli wieloznacznych:
- Symbole wieloznaczne w porcie (np.
https://www.example.com:*/*). - Symbole wieloznaczne w schemacie (np.
*://www.example.com:123/*) - Symbole wieloznaczne w nazwie hosta (np.
https://*.example.com:123/*)
Jeśli wzorzec jest bardziej szczegółowy niż inny wzorzec w jednej części, ale mniej szczegółowy w innej, poszczególne części są sprawdzane w tej kolejności: nazwa hosta, schemat, port. Na przykład poniższe wzorce są uporządkowane według priorytetu:
https://www.example.com:*/*Określa nazwę hosta i schemat.*:/www.example.com:123/*Nie tak wysoki, ponieważ chociaż określa nazwę hosta, nie określa schematu.https://*.example.com:123/*Niższy, ponieważ chociaż określa port i schemat, zawiera symbol wieloznaczny w nazwie hosta.
Wzory podstawowe i dodatkowe
Adres URL brany pod uwagę przy podejmowaniu decyzji o tym, które ustawienie treści zastosować, zależy od typu treści.
Na przykład w przypadku ustawień contentSettings.notifications są one oparte na adresie URL wyświetlanym w pasku adresu. Ten adres URL nazywamy „podstawowym”.
Niektóre typy treści mogą uwzględniać dodatkowe adresy URL. Na przykład to, czy witryna może ustawić contentSettings.cookies, zależy od adresu URL żądania HTTP (który w tym przypadku jest adresem URL podstawowym) oraz adresu URL wyświetlanego w pasku adresu (który jest nazywany adresem URL „dodatkowym”).
Jeśli kilka reguł ma wzorce podstawowe i dodatkowe, pierwszeństwo ma reguła z bardziej szczegółowym wzorcem podstawowym. Jeśli kilka reguł ma ten sam wzorzec podstawowy, pierwszeństwo ma reguła z bardziej szczegółowym wzorcem dodatkowym. Na przykład ta lista par wzorców podstawowych i dodatkowych jest uporządkowana według ważności:
| Pierwszeństwo | Wzór podstawowy | Wzór dodatkowy |
|---|---|---|
| 1 | https://www.moose.com/*, | https://www.wombat.com/* |
| 2 | https://www.moose.com/*, | <all_urls> |
| 3 | <all_urls>, | https://www.wombat.com/* |
| 4 | <all_urls>, | <all_urls> |
Identyfikatory zasobów
Identyfikatory zasobów umożliwiają określanie ustawień treści dla konkretnych podtypów danego typu treści.
Obecnie jedynym typem treści, który obsługuje identyfikatory zasobów, jest contentSettings.plugins, gdzie identyfikator zasobu identyfikuje konkretną wtyczkę. Podczas stosowania ustawień treści najpierw sprawdzane są ustawienia konkretnej wtyczki. Jeśli nie zostaną znalezione żadne ustawienia dla konkretnej wtyczki, zostaną sprawdzone ogólne ustawienia treści dla wtyczek.
Jeśli na przykład reguła ustawień treści ma identyfikator zasobu adobe-flash-player i wzorzec <all_urls>, ma ona pierwszeństwo przed regułą bez identyfikatora zasobu i wzorcem https://www.example.com/*, nawet jeśli ten wzorzec jest bardziej szczegółowy.
Listę identyfikatorów zasobów dla danego typu treści możesz uzyskać, wywołując metodę
contentSettings.ContentSetting.getResourceIdentifiers. Zwrócona lista może się zmieniać w zależności od zestawu zainstalowanych wtyczek na komputerze użytkownika, ale Chrome stara się zachować stabilność identyfikatorów podczas aktualizacji wtyczek.
Przykłady
Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu contentSettings API z repozytorium chrome-extension-samples.
Typy
AutoVerifyContentSetting
Typ wyliczeniowy
„allow”
„block”
CameraContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
ClipboardContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
ContentSetting
Właściwości
-
wyczyść
void
ObietnicaUsuń wszystkie reguły ustawień treści ustawione przez to rozszerzenie.
Funkcja
clearwygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
-
zakres
Scope opcjonalny
Miejsce, w którym należy wyczyścić ustawienie (domyślnie: zwykłe).
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
-
returns
Promise<void>
Chrome 96 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
-
-
get
void
ObietnicaPobiera bieżące ustawienie treści dla danej pary adresów URL.
Funkcja
getwygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
-
incognito,
wartość logiczna opcjonalna
Określa, czy w przypadku sesji incognito mają być sprawdzane ustawienia treści. (domyślnie fałsz)
-
primaryUrl
tekst
Główny adres URL, dla którego należy pobrać ustawienie treści. Pamiętaj, że znaczenie głównego adresu URL zależy od typu treści.
-
resourceIdentifier
ResourceIdentifier opcjonalny
Bardziej szczegółowy identyfikator typu treści, dla których należy pobrać ustawienia.
-
secondaryUrl
ciąg znaków opcjonalny
Dodatkowy adres URL, dla którego należy pobrać ustawienie treści. Domyślnie jest to główny adres URL. Pamiętaj, że znaczenie dodatkowego adresu URL zależy od typu treści i nie wszystkie typy treści używają dodatkowych adresów URL.
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(details: object) => void
-
szczegóły
obiekt
-
ustawienie
T
Ustawienie treści. Możliwe wartości znajdziesz w opisie poszczególnych obiektów ContentSetting.
-
-
-
returns
Promise<object>
Chrome 96 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
-
-
getResourceIdentifiers
pusty
ObietnicaFunkcja
getResourceIdentifierswygląda tak:(callback?: function) => {...}
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(resourceIdentifiers?: ResourceIdentifier[]) => void
-
resourceIdentifiers
ResourceIdentifier[] opcjonalny
Lista identyfikatorów zasobów dla tego typu treści lub
undefined, jeśli ten typ treści nie używa identyfikatorów zasobów.
-
-
returns
Promise<ResourceIdentifier[]>
Chrome 96 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
-
-
zestaw
pusty,
ObietnicaStosuje nową regułę ustawień treści.
Funkcja
setwygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
-
primaryPattern
tekst
Wzorzec głównego adresu URL. Szczegółowe informacje o formacie wzorca znajdziesz w artykule Wzorce ustawień treści.
-
resourceIdentifier
ResourceIdentifier opcjonalny
Identyfikator zasobu dla typu treści.
-
zakres
Zakres opcjonalny
Miejsce ustawienia (domyślnie: regular).
-
secondaryPattern
ciąg znaków opcjonalny
Wzorzec dodatkowego adresu URL. Domyślnie pasuje do wszystkich adresów URL. Szczegółowe informacje o formacie wzorca znajdziesz w artykule Wzorce ustawień treści.
-
ustawienie
każdy
Ustawienie zastosowane przez tę regułę. Możliwe wartości znajdziesz w opisie poszczególnych obiektów ContentSetting.
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
-
returns
Promise<void>
Chrome 96 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
-
CookiesContentSetting
Typ wyliczeniowy
„allow”
„block”
„session_only”
FullscreenContentSetting
Wartość
„allow”
ImagesContentSetting
Typ wyliczeniowy
„allow”
„block”
JavascriptContentSetting
Typ wyliczeniowy
„allow”
„block”
LocationContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
MicrophoneContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
MouselockContentSetting
Wartość
„allow”
MultipleAutomaticDownloadsContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
NotificationsContentSetting
Typ wyliczeniowy
„allow”
„block”
„ask”
PluginsContentSetting
Wartość
„block”
PopupsContentSetting
Typ wyliczeniowy
„allow”
„block”
PpapiBrokerContentSetting
Wartość
„block”
ResourceIdentifier
Jedynym typem treści, który używa identyfikatorów zasobów, jest contentSettings.plugins. Więcej informacji znajdziesz w sekcji Identyfikatory zasobów.
Właściwości
-
opis
ciąg znaków opcjonalny
Zrozumiały dla człowieka opis zasobu.
-
id
tekst
Identyfikator zasobu dla danego typu treści.
Scope
Zakres ContentSetting. Jedno z nich:regular: ustawienie profilu zwykłego (dziedziczone przez profil incognito, jeśli nie zostanie zastąpione w innym miejscu);incognito\_session\_only: ustawienie profilu incognito, które można skonfigurować tylko podczas sesji incognito i które jest usuwane po jej zakończeniu (zastępuje ustawienia zwykłe).
Typ wyliczeniowy
„regular”
"incognito_session_only"
SoundContentSetting
Typ wyliczeniowy
„allow”
„block”
Właściwości
automaticDownloads
Określa, czy witryny mogą automatycznie pobierać wiele plików. Jedna z tych opcji:allow: Zezwalaj witrynom na automatyczne pobieranie wielu plików.block: Nie zezwalaj witrynom na automatyczne pobieranie wielu plików.ask: Po pobraniu pierwszego pliku pytaj, czy witryna ma automatycznie pobierać kolejne pliki.
Wartość domyślna to ask.
Główny adres URL to adres URL ramki najwyższego poziomu. Dodatkowy adres URL nie jest używany.
autoVerify
Określa, czy zezwalać witrynom na korzystanie z interfejsu Private State Tokens API. Jedna z tych opcji:allow: Zezwalaj witrynom na korzystanie z interfejsu Private State Tokens API,
block: Blokuj witrynom korzystanie z interfejsu Private State Tokens API.
Wartość domyślna to allow.
Podczas wywoływania funkcji set() główny wzorzec adresu URL musi mieć postać <all_urls>. Pomocniczy adres URL nie jest używany.
camera
Określa, czy witryny mogą uzyskiwać dostęp do aparatu. Jedna z tych opcji:allow: Zezwalaj witrynom na dostęp do kamery,block: Nie zezwalaj witrynom na dostęp do kamery,ask: Pytaj, gdy witryna chce uzyskać dostęp do kamery.
Wartość domyślna to ask.
Główny adres URL to adres dokumentu, który poprosił o dostęp do kamery. Dodatkowy adres URL nie jest używany.
UWAGA: ustawienie „allow” jest nieprawidłowe, jeśli oba wzorce mają wartość „<all_urls>”.
clipboard
Określa, czy zezwalać witrynom na dostęp do schowka za pomocą zaawansowanych funkcji interfejsu Async Clipboard API. Funkcje „zaawansowane” obejmują wszystko poza zapisywaniem wbudowanych formatów po działaniu użytkownika, czyli możliwość odczytu, możliwość zapisywania formatów niestandardowych i możliwość zapisywania bez działania użytkownika. Jeden z tych elementów:allow: Zezwalaj witrynom na korzystanie z zaawansowanych funkcji schowka,
block: Nie zezwalaj witrynom na korzystanie z zaawansowanych funkcji schowka,
ask: Pytaj, gdy witryna chce korzystać z zaawansowanych funkcji schowka.
Wartość domyślna to ask.
Główny adres URL to adres dokumentu, który poprosił o dostęp do schowka. Dodatkowy adres URL nie jest używany.
cookies
Określa, czy witryny mogą ustawiać pliki cookie i inne dane lokalne. Jeden z tych elementów:allow: Akceptuj pliki cookie,block: Blokuj pliki cookie,session\_only: Akceptuj pliki cookie tylko w bieżącej sesji.
Wartość domyślna to allow.
Główny adres URL to adres URL reprezentujący źródło pliku cookie. Dodatkowy adres URL to adres URL ramki najwyższego poziomu.
fullscreen
Wycofano. Nie ma już żadnego wpływu. Uprawnienie do wyświetlania na pełnym ekranie jest teraz automatycznie przyznawane w przypadku wszystkich witryn. Wartość to zawsze allow.
images
Określa, czy wyświetlać obrazy. Jeden z tych warunków:allowwyświetlaj obrazy,blocknie wyświetlaj obrazów.
Wartość domyślna to allow.
Główny adres URL to adres URL ramki najwyższego poziomu. Dodatkowy adres URL to adres URL obrazu.
javascript
Określa, czy ma być uruchamiany JavaScript. Jeden z tych warunków:
allowuruchom JavaScript,
blocknie uruchamiaj JavaScriptu.
Wartość domyślna to allow.
Główny adres URL to adres URL ramki najwyższego poziomu. Pomocniczy adres URL nie jest używany.
location
Czy zezwolić na geolokalizację. Jedna z tych opcji:allow: Zezwalaj witrynom na śledzenie Twojej fizycznej lokalizacji,block: Nie zezwalaj witrynom na śledzenie Twojej fizycznej lokalizacji,ask: Pytaj, zanim zezwolisz witrynom na śledzenie Twojej fizycznej lokalizacji.
Wartość domyślna to ask.
Główny adres URL to adres dokumentu, który wysłał żądanie danych o lokalizacji. Dodatkowy adres URL to adres URL ramki najwyższego poziomu (który może się różnić od adresu URL żądania).
microphone
Określa, czy witryny mogą uzyskiwać dostęp do mikrofonu. Jedna z tych opcji:allow: Zezwalaj witrynom na dostęp do mikrofonu,block: Nie zezwalaj witrynom na dostęp do mikrofonu,ask: Pytaj, gdy witryna chce uzyskać dostęp do mikrofonu.
Wartość domyślna to ask.
Główny adres URL to adres dokumentu, który poprosił o dostęp do mikrofonu. Pomocniczy adres URL nie jest używany.
UWAGA: ustawienie „allow” jest nieprawidłowe, jeśli oba wzorce mają wartość „<all_urls>”.
mouselock
Wycofano. Nie ma już żadnego wpływu. Uprawnienia do blokowania kursora myszy są teraz automatycznie przyznawane wszystkim witrynom. Wartość to zawsze allow.
notifications
Określa, czy witryny mogą wyświetlać powiadomienia na pulpicie. Jedna z tych opcji:allow: Zezwalaj witrynom na wyświetlanie powiadomień na komputerze,block: Nie zezwalaj witrynom na wyświetlanie powiadomień na komputerze,ask: Pytaj, gdy witryna chce wyświetlać powiadomienia na komputerze.
Wartość domyślna to ask.
Główny adres URL to adres URL dokumentu, który chce wyświetlić powiadomienie. Dodatkowy adres URL nie jest używany.
plugins
Wycofano. Obsługa Flasha została usunięta w Chrome 88, więc to uprawnienie nie ma już żadnego wpływu. Wartość to zawsze block. Połączenia na numery set() i clear() będą ignorowane.
popups
Określa, czy witryny mogą wyświetlać wyskakujące okienka. Jedna z tych opcji:allow: Zezwalaj witrynom na wyświetlanie wyskakujących okienek,block: Nie zezwalaj witrynom na wyświetlanie wyskakujących okienek.
Wartość domyślna to block.
Główny adres URL to adres URL ramki najwyższego poziomu. Pomocniczy adres URL nie jest używany.
unsandboxedPlugins
Wycofano. Wcześniej ta zasada określała, czy witryny mogą uruchamiać wtyczki bez piaskownicy. Jednak po usunięciu procesu brokera Flasha w Chrome 88 to uprawnienie nie ma już żadnego wpływu. Wartość to zawsze block. Połączenia na numery set() i clear() będą ignorowane.