chrome.privacy

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

Chrome w wersji 48 lub nowszej,

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.

  • webRTCIPHandlingPolicy
    Chrome 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 nowszej

    Gdy 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 nowszej

    Gdy 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 70

    Należ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 nowszej

    Jeś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 na false. Próba ustawienia tych interfejsów API na true spowoduje zgłoszenie błędu.

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

    Chrome w wersji 65 lub nowszej

    Jeś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 to false.

  • fledgeEnabled

    types.ChromeSetting<boolean>

    Chrome w wersji 111 lub nowszej

    Jeś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 na false. Próba ustawienia tego interfejsu API na true 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 to true.

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

    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&lt;boolean&gt;

    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 to true.

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome w wersji 121 lub nowszej

    Jeś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 na false. Próba ustawienia tego interfejsu API na true spowoduje zgłoszenie błędu.

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    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&lt;boolean&gt;

    Chrome w wersji 111 lub nowszej

    Jeś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 na false. Próba ustawienia tego interfejsu API na true spowoduje zgłoszenie błędu.