Opis
Używaj interfejsu API chrome.privacy
, aby kontrolować korzystanie z funkcji Chrome, które mogą naruszać prywatność użytkowników. Ten interfejs API opiera się na prototypie interfejsu ChromeSetting API do pobierania i konfigurowania konfiguracji Chrome.
Uprawnienia
privacy
Należy zadeklarować „prywatność”, uprawnienia w pliku manifestu rozszerzenia na korzystanie z interfejsu API. Przykład:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Pojęcia i wykorzystanie
Odczytanie bieżącej wartości ustawienia Chrome jest proste. Najpierw musisz znaleźć
interesującej Cię usługi, wywołaj dla niego get()
, by pobrać jego
bieżącej wartości oraz poziomu kontroli rozszerzenia. Aby na przykład sprawdzić, czy autouzupełnianie danych karty kredytowej w Chrome
jest włączona, wpisz:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Zmiana wartości ustawienia jest nieco bardziej złożona, ponieważ najpierw
że rozszerzenie może kontrolować to ustawienie. Użytkownik nie zobaczy żadnych zmian w swoich ustawieniach, jeśli
rozszerzenie przełącza ustawienie, które jest zablokowane przez zasady przedsiębiorstwa do określonej wartości
(levelOfControl
zostanie ustawiony na „not_controllable”) lub jeśli inne rozszerzenie kontroluje
(levelOfControl
zostanie ustawiony na „controlled_by_other_extensions”). Rozmowa set()
spowoduje
ale ustawienie zostanie od razu zastąpione. Może to być mylące, dlatego zalecamy,
ostrzega użytkownika, gdy wybrane przez niego ustawienia nie są praktyczne.
Oznacza to, że do określenia poziomu dostępu należy używać metody get()
, a potem tylko
Wywołaj set()
, jeśli rozszerzenie ma kontrolę nad ustawieniem (jeśli nie może
kontrolować ustawienia. Dobrym pomysłem jest wizualne wyłączenie funkcji, by zmniejszyć liczbę użytkowników
dezorientacja):
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
Jeśli interesują Cię zmiany wartości ustawienia, dodaj detektor do jego zdarzenia onChange
. Wśród
innych zastosowań, pozwoli to ostrzec użytkownika, gdy zostanie pobrane niedawno zainstalowane rozszerzenie.
kontrolę nad ustawieniem lub zasady przedsiębiorstwa zastępują Twoją kontrolę. Aby nasłuchiwać zmian w:
stanu autouzupełniania karty kredytowej. Na przykład następujący kod:
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
Przykłady
Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs Privacy API ze strony chrome-extension-samples. z repozytorium.
Typy
IPHandlingPolicy
Zasady obsługi adresów IP przez WebRTC.
Typ wyliczeniowy
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Właściwości
network
Ustawienia wpływające na ogólną obsługę połączeń sieciowych przez Chrome.
Typ
Obiekt
Właściwości
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Gdy ta opcja jest włączona, Chrome próbuje przyspieszyć przeglądanie internetu przez wstępne rozpoznawanie wpisów DNS i zapobiegawcze otwieranie połączeń TCP i SSL z serwerami. To ustawienie wpływa tylko na działania wykonywane przez wewnętrzną usługę przewidywania w Chrome. Nie ma wpływu na prefektury ani połączenia wstępne inicjowane przez stronę internetową. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
webRTCIPHandlingPolicyChrome 48 i nowsze wersje
Aplikacje tego typu pozwalają użytkownikom określać kompromisy dotyczące wydajności mediów i prywatności, które wpływają na sposób kierowania ruchu WebRTC oraz ilość udostępnianych informacji o adresach lokalnych. Wartość tego ustawienia jest typu IPhandlingPolicy, której domyślna wartość to
default
.
services
Ustawienia służące do włączania lub wyłączania funkcji, które wymagają usług sieciowych innych firm świadczonych przez Google i domyślnego dostawcę wyszukiwania.
Typ
Obiekt
Właściwości
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome używa usługi internetowej do rozwiązywania błędów nawigacji. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome w wersji 70 lub nowszejGdy ta opcja jest włączona, Chrome proponuje automatyczne wpisywanie adresów i innych danych w formularzach. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome w wersji 70 lub nowszejGdy ta opcja jest włączona, Chrome proponuje automatyczne wypełnianie formularzy kart kredytowych. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Wycofane od Chrome 70Należy użyć właściwości privacy.services.autofillAddressEnabled i privacy.services.autofillCreditCardEnabled. Ta opcja zapewnia zgodność wsteczną w tej wersji i w przyszłości zostanie usunięta.
Gdy ta opcja jest włączona, Chrome proponuje automatyczne wypełnianie formularzy. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, menedżer haseł zapyta, czy chcesz zapisywać hasła. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome stara się chronić Cię przed phishingiem i złośliwym oprogramowaniem. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome wysyła do Google dodatkowe informacje, gdy Bezpieczne przeglądanie blokuje stronę – np. treść zablokowanej strony. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Gdy ta opcja jest włączona, Chrome wysyła tekst wpisywany w omniboksie do domyślnej wyszukiwarki, która wyświetla podpowiedzi dotyczące stron i wyszukiwań, które prawdopodobnie pasują do wpisanego tekstu. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome korzysta z usługi internetowej, aby poprawiać błędy ortograficzne. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Gdy ta opcja jest włączona, Chrome proponuje tłumaczenie stron w obcych językach. Wartość tego ustawienia jest wartością logiczną, a jej domyślna wartość to
true
.
websites
Ustawienia określające, jakie informacje Chrome udostępnia witrynom.
Typ
Obiekt
Właściwości
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome w wersji 111 lub nowszejJeśli są wyłączone, interfejsy Attribution Reporting API i Private Aggregation API są wyłączone. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. Rozszerzenia mogą wyłączyć te interfejsy API tylko przez ustawienie tej wartości nafalse
. Próba ustawienia tych interfejsów API natrue
spowoduje zgłoszenie błędu. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome w wersji 65 lub nowszejJeśli ta opcja jest włączona, Chrome wysyła „Do Not Track” (
DNT: 1
) z Twoimi żądaniami. Wartość tego ustawienia jest typu logiczna, a wartość domyślna tofalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome w wersji 111 lub nowszejJeśli ta opcja jest wyłączona, interfejs Fledge API jest dezaktywowany. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie tej wartości nafalse
. Próba ustawienia tego interfejsu API natrue
spowoduje zgłoszenie błędu. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome wysyła pingi kontrolne na żądanie strony (
<a ping>
). Wartość tego ustawienia jest typu wartość logiczna, a wartość domyślna totrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
Funkcja dostępna tylko w systemie Windows i ChromeOS: jeśli ta opcja jest włączona, Chrome udostępnia unikalny identyfikator wtyczek, by uruchamiać treści chronione. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Jeśli ta opcja jest włączona, Chrome wysyła z żądaniami nagłówki
referer
. Tak, nazwa tego ustawienia nie pasuje do błędnie napisanego nagłówka. Nie, nie zmienimy tego ustawienia. Wartość tego ustawienia jest typu logiczna, a wartość domyślna totrue
. -
types.ChromeSetting<boolean>
Chrome w wersji 121 lub nowszejJeśli ta opcja jest wyłączona, zestawy powiązanych witryn są wyłączone. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie tej wartości nafalse
. Próba ustawienia tego interfejsu API natrue
spowoduje zgłoszenie błędu. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Jeśli ta opcja jest wyłączona, Chrome nie zezwala witrynom innych firm na ustawianie plików cookie. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome w wersji 111 lub nowszejJeśli ta opcja jest wyłączona, interfejs Topics API jest wyłączony. Wartość tego ustawienia jest typu logiczna, a wartość domyślna to
true
. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie tej wartości nafalse
. Próba ustawienia tego interfejsu API natrue
spowoduje zgłoszenie błędu.