Beschreibung
Mit der chrome.privacy
API können Sie die Nutzung von Chrome-Funktionen steuern, die sich auf die Privatsphäre eines Nutzers auswirken können. Diese API basiert auf dem ChromeSetting-Prototyp des Typs API, um die Chrome-Konfiguration abzurufen und festzulegen.
Berechtigungen
privacy
Manifest
Sie müssen die Berechtigung „Datenschutz“ im Manifest Ihrer Erweiterung deklarieren, um die API verwenden zu können. Beispiel:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Nutzung
Der aktuelle Wert einer Chrome-Einstellung lässt sich ganz einfach ablesen. Sie müssen zuerst die gewünschte Property finden. Dann rufen Sie get()
für das Objekt auf, um den aktuellen Wert und die Kontrollebene Ihrer Erweiterung abzurufen. Wenn Sie beispielsweise feststellen möchten, ob die AutoFill-Funktion von Chrome aktiviert ist, geben Sie Folgendes ein:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Das Ändern des Werts einer Einstellung ist etwas komplizierter, weil Sie zuerst überprüfen müssen, ob Ihre Erweiterung die Einstellung steuern kann. Der Nutzer sieht keine Änderungen an seinen Einstellungen, wenn Ihre Erweiterung eine Einstellung umschaltet, die entweder auf einen bestimmten Wert durch Unternehmensrichtlinien gesperrt ist (levelOfControl
wird auf „not_controllable“), oder wenn eine andere Erweiterung den Wert steuert (levelOfControl
auf „control_by_other_extensions“ gesetzt). Der set()
-Aufruf ist erfolgreich, aber die Einstellung wird sofort überschrieben. Da dies verwirrend sein kann, ist es ratsam, den Nutzer zu warnen, wenn die ausgewählten Einstellungen nicht praktisch angewendet werden.
Sie müssen also die Methode get()
verwenden, um Ihre Zugriffsebene zu bestimmen, und dann set()
nur dann aufrufen, wenn Ihre Erweiterung die Kontrolle über die Einstellung übernehmen kann. Wenn Ihre Erweiterung die Einstellung nicht steuern kann, empfiehlt es sich wahrscheinlich, die Funktion visuell zu deaktivieren, um Verwirrung bei Nutzern zu vermeiden:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
Wenn Sie Änderungen am Wert einer Einstellung vornehmen möchten, fügen Sie dem zugehörigen onChange
-Ereignis einen Listener hinzu. Auf diese Weise können Sie Nutzer unter anderem warnen, wenn eine kürzlich installierte Erweiterung die Kontrolle über eine Einstellung übernimmt oder wenn die Unternehmensrichtlinie diese Einstellung überschreibt. Wenn Sie beispielsweise auf Änderungen am AutoFill-Status warten möchten, reicht der folgende Code aus:
chrome.privacy.services.autofillEnabled.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.
}
);
Beispiele
Wenn Sie diese API testen möchten, installieren Sie das Privacy API-Beispiel aus dem Repository chrome-extension-sample.
Typen
IPHandlingPolicy
Die Richtlinie zur IP-Verarbeitung von WebRTC.
Enum
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Attribute
network
Einstellungen, die sich auf die allgemeine Handhabung von Netzwerkverbindungen durch Chrome auswirken.
Typ
Objekt
Attribute
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, versucht Chrome, das Surfen im Web zu beschleunigen, indem DNS-Einträge vorab aufgelöst und TCP- und SSL-Verbindungen zu Servern präventiv geöffnet werden. Diese Einstellung wirkt sich nur auf Aktionen der internen Vervollständigungsfunktion von Chrome aus. Von Webseiten initiierte Präfekturen oder Vorabverbindungen sind nicht betroffen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
webRTCIPHandlingPolicyChrome 48 und höher
Nutzer können die Kompromisse bei Medienleistung und Datenschutz festlegen, die sich darauf auswirken, wie WebRTC-Traffic weitergeleitet und wie viele lokale Adressinformationen offengelegt werden. Der Wert dieser Einstellung hat den Typ IPHandlingPolicy und hat standardmäßig den Wert
default
.
services
Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden können, für die von Google und Ihrem Standardsuchanbieter bereitgestellte Netzwerkdienste von Drittanbietern erforderlich sind
Typ
Objekt
Attribute
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, verwendet Chrome einen Webdienst, um Navigationsfehler zu beheben. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 oder höherWenn diese Option aktiviert ist, bietet Chrome an, automatisch Adressen und andere Formulardaten einzugeben. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 oder höherWenn diese Option aktiviert ist, bietet Chrome an, Kreditkartenformulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
autofillEnabled
types.ChromeSetting<boolean>
Seit Chrome 70 eingestelltVerwenden Sie „privacy.services.autofillAddressEnabled“ und „privacy.services.autofillCreditCardEnabled“. Aus Gründen der Abwärtskompatibilität in dieser Version bleibt sie erhalten und wird in Zukunft entfernt.
Wenn diese Option aktiviert ist, bietet Chrome an, Formulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, werden Sie vom Passwortmanager gefragt, ob Sie Passwörter speichern möchten. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, schützt Chrome Sie bestmöglich vor Phishing und Malware. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome zusätzliche Informationen an Google, wenn Safe Browsing eine Seite blockiert, z. B. den Inhalt der blockierten Seite. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
false
ist. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome den von Ihnen in die Omnibox eingegebenen Text an Ihre Standardsuchmaschine. Diese macht Vorschläge für Websites und Suchanfragen, die wahrscheinlich die Vervollständigung Ihrer bisherigen Eingabe darstellen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, verwendet Chrome einen Webdienst, um Rechtschreibfehler zu korrigieren. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
false
ist. -
translationServiceEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, bietet Chrome die Übersetzung von fremdsprachigen Seiten an. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig
true
ist.
websites
Einstellungen, mit denen festgelegt wird, welche Informationen Chrome Websites zur Verfügung stellt.
Typ
Objekt
Attribute
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn die Option deaktiviert ist, werden auch die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. Erweiterungen können diese APIs nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese APIs auftrue
zu setzen, wird ein Fehler ausgegeben. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 und höherWenn diese Option aktiviert ist, sendet Chrome den „Do Not Track“-Header (
DNT: 1
) mit deinen Anfragen. Der Wert dieser Einstellung ist boolesch und der Standardwert istfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, ist die Fledge API deaktiviert. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
zu setzen, wird ein Fehler ausgegeben. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome Audit-Pings, wenn sie von einer Website (
<a ping>
) angefordert werden. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert isttrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
Nur unter Windows und ChromeOS verfügbar: Wenn diese Option aktiviert ist, stellt Chrome Plug-ins eine eindeutige ID zur Verfügung, über die geschützte Inhalte ausgeführt werden können. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome
referer
-Header mit deinen Anfragen. Ja, der Name dieser Einstellung stimmt nicht mit der falsch geschriebenen Kopfzeile überein. Nein, wir werden es nicht ändern. Der Wert dieser Einstellung ist boolesch und der Standardwert isttrue
. -
types.ChromeSetting<boolean>
Chrome 121 und höherIst die Option deaktiviert, sind Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
zu setzen, wird ein Fehler ausgegeben. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Wenn die Option deaktiviert ist, blockiert Chrome Websites von Drittanbietern daran, Cookies zu setzen. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn sie deaktiviert ist, ist auch die Topics API deaktiviert. Der Wert dieser Einstellung ist boolesch und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
zu setzen, wird ein Fehler ausgegeben.