Beschreibung
Mit der chrome.privacy API können Sie die Verwendung der Funktionen in Chrome steuern, die sich auf die Privatsphäre eines Nutzers auswirken können. Diese API verwendet den Prototyp ChromeSetting der API vom Typ, um die Chrome-Konfiguration abzurufen und festzulegen.
Berechtigungen
privacySie müssen die Berechtigung "privacy" im Manifest Ihrer Erweiterung deklarieren, um die API verwenden zu können. Beispiel:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Konzepte und Verwendung
Der aktuelle Wert einer Chrome-Einstellung lässt sich ganz einfach abrufen. Suchen Sie zuerst die
gewünschte Eigenschaft und rufen Sie dann get() für dieses Objekt auf, um den
aktuellen Wert und die Steuerungsebene Ihrer Erweiterung abzurufen. Wenn Sie beispielsweise feststellen möchten, ob die Funktion zum automatischen Ausfüllen von Kreditkarten in Chrome
aktiviert ist, schreiben Sie Folgendes:
chrome.privacy.services.autofillCreditCardEnabled.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 komplexer, da Sie zuerst prüfen müssen,
ob Ihre Erweiterung die Einstellung steuern kann. Der Nutzer sieht keine Änderung an seinen Einstellungen, wenn Ihre
Erweiterung eine Einstellung ändert, die entweder durch Unternehmensrichtlinien auf einen bestimmten Wert festgelegt ist
(levelOfControl wird auf „not_controllable“ gesetzt) oder wenn eine andere Erweiterung den
Wert steuert (levelOfControl wird auf „controlled_by_other_extensions“ gesetzt). Der Aufruf set() ist
erfolgreich, die Einstellung wird aber sofort überschrieben. Da dies verwirrend sein kann, sollten Sie
den Nutzer warnen, wenn die von ihm ausgewählten Einstellungen nicht angewendet werden.
Verwenden Sie also die get() Methode, um Ihre Zugriffsebene zu ermitteln, und rufen Sie dann nur
set() auf, wenn Ihre Erweiterung die Steuerung der Einstellung übernehmen kann. Wenn Ihre Erweiterung die Einstellung nicht
steuern kann, sollten Sie die Funktion visuell deaktivieren, um Verwirrung beim Nutzer zu
vermeiden:
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);
}
});
}
});
Wenn Sie an Änderungen des Werts einer Einstellung interessiert sind, fügen Sie einen Listener zum onChange-Ereignis hinzu. So können Sie den Nutzer beispielsweise warnen, wenn eine kürzlich installierte Erweiterung die Steuerung einer Einstellung übernimmt oder wenn eine Unternehmensrichtlinie Ihre Steuerung überschreibt. Wenn Sie beispielsweise auf Änderungen des Status der Funktion zum automatischen Ausfüllen von
Kreditkarten hören möchten, reicht der folgende Code aus:
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.
}
);
Beispiele
Wenn Sie diese API testen möchten, installieren Sie das Beispiel für die Privacy API aus dem Repository chrome-extension-samples.
Typen
IPHandlingPolicy
Richtlinie für das IP-Handling von WebRTC.
Enum
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Attribute
network
Einstellungen, die sich allgemein auf die Verarbeitung von Netzwerkverbindungen in 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 aus, die vom internen Vorhersagedienst von Chrome ausgeführt werden. Sie hat keine Auswirkungen auf von Webseiten initiierte Vorabrufe oder Vorverbindungen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt ist. -
webRTCIPHandlingPolicyChrome 48+
Ermöglicht Nutzern, die Kompromisse zwischen Medienleistung und Datenschutz festzulegen, die sich darauf auswirken, wie WebRTC-Traffic weitergeleitet wird und wie viele Informationen zur lokalen Adresse preisgegeben werden. Der Wert dieser Einstellung hat den Typ IPHandlingPolicy und ist standardmäßig auf
defaultgesetzt.
services
Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden, für die Netzwerkdienste von Drittanbietern erforderlich sind, die von Google und Ihrem Standardsuchanbieter bereitgestellt werden.
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 auf
truegesetzt ist. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70+Wenn diese Option aktiviert ist, bietet Chrome an, Adressen und andere Formulardaten automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt ist. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70+Wenn diese Option aktiviert ist, bietet Chrome an, Kreditkartenformulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt ist. -
autofillEnabled
types.ChromeSetting<boolean>
Seit Chrome 70 eingestelltVerwenden Sie stattdessen privacy.services.autofillAddressEnabled und privacy.services.autofillCreditCardEnabled. Diese Einstellung ist in dieser Version aus Gründen der Abwärtskompatibilität weiterhin verfügbar 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 auf
truegesetzt ist. -
autofillOtherDatatypesEnabled
types.ChromeSetting<boolean>
AusstehendWenn diese Option aktiviert ist, bietet Chrome an, die anderen Datentypen automatisch auszufüllen. Dazu gehören Reise- und Ausweisdokumente. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt 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 auf
truegesetzt 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 auf
truegesetzt 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 auf
falsegesetzt ist. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome den Text, den Sie in die Omnibox eingeben, an Ihre Standardsuchmaschine. Diese liefert Vorhersagen für Websites und Suchanfragen, die wahrscheinlich Vervollständigungen des bisher eingegebenen Texts sind. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt 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 auf
falsegesetzt ist. -
translationServiceEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, bietet Chrome an, fremdsprachige Seiten zu übersetzen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
truegesetzt ist.
websites
Einstellungen, die festlegen, welche Informationen Chrome Websites zur Verfügung stellt.
Typ
Objekt
Attribute
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111+Wenn diese Option deaktiviert ist, werden die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. Erweiterungen können diese APIs nur deaktivieren, indem sie den Wert auffalsesetzen. Wenn Sie versuchen, diese APIs auftruezu setzen, wird ein Fehler ausgelöst. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65+Wenn diese Option aktiviert ist, sendet Chrome den Header „Do Not Track“ (
DNT: 1) mit Ihren Anfragen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert istfalse. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111+Wenn diese Option deaktiviert ist, wird die Fledge API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome auf Anfrage einer Website Audit-Pings (
<a ping>). 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, um geschützte Inhalte auszuführen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. -
referrersEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome
refererHeader mit Ihren Anfragen. Ja, der Name dieser Einstellung stimmt nicht mit dem falsch geschriebenen Header überein. Nein, wir werden ihn nicht ändern. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert isttrue. -
types.ChromeSetting<boolean>
Chrome 121+Wenn diese Option deaktiviert ist, wird die Funktion für Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Wenn diese Option deaktiviert ist, verhindert Chrome, dass Drittanbieter-Websites Cookies setzen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. Erweiterungen können diese API nicht im Inkognitomodus aktivieren. Dort werden Drittanbieter-Cookies blockiert und können nur auf Websiteebene zugelassen werden. Wenn Sie versuchen, diese API im Inkognitomodus auf „true“ zu setzen, wird ein Fehler ausgelöst.Hinweis: Einzelne Websites können möglicherweise weiterhin auf Drittanbieter-Cookies zugreifen, wenn diese API
falsezurückgibt, wenn sie eine gültige Ausnahme haben oder stattdessen die Storage Access API verwenden. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111+Wenn diese Option deaktiviert ist, wird die Topics API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist
true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst.