Описание
Используйте API chrome.privacy
для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Этот API использует прототип ChromeSetting типа API для получения и настройки конфигурации Chrome.
Разрешения
privacy
Манифест
Чтобы использовать API, вы должны объявить разрешение «конфиденциальности» в манифесте вашего расширения. Например:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Использование
Считать текущее значение настройки Chrome очень просто. Сначала вам нужно найти интересующее вас свойство, затем вы вызовете get()
для этого объекта, чтобы получить его текущее значение и уровень контроля вашего расширения. Например, чтобы определить, включена ли функция автозаполнения Chrome, вы должны написать:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Изменение значения параметра немного сложнее, просто потому, что сначала вы должны убедиться, что ваше расширение может управлять этим параметром. Пользователь не увидит никаких изменений в своих настройках, если ваше расширение переключает параметр, который либо привязан к определенному значению политиками предприятия ( levelOfControl
будет установлен на «not_controllable»), либо если другое расширение контролирует значение ( levelOfControl
будет установить значение «control_by_other_extensions»). Вызов set()
завершится успешно, но настройка будет немедленно переопределена. Поскольку это может сбить с толку, рекомендуется предупреждать пользователя, когда выбранные им настройки практически не применяются.
Это означает, что вам следует использовать метод get()
для определения вашего уровня доступа, а затем вызывать set()
только в том случае, если ваше расширение может получить контроль над настройкой (на самом деле, если ваше расширение не может контролировать настройку, это, вероятно, хорошая идея визуально отключить эту функциональность, чтобы уменьшить путаницу пользователей):
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);
}
});
}
});
Если вы заинтересованы в изменении значения параметра, добавьте прослушиватель к его событию onChange
. Помимо прочего, это позволит вам предупредить пользователя, если недавно установленное расширение захватит контроль над параметром или если политика предприятия отменяет ваш контроль. Например, чтобы прослушивать изменения статуса автозаполнения, достаточно следующего кода:
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.
}
);
Примеры
Чтобы попробовать этот API, установите пример API конфиденциальности из репозитория chrome-extension-samples .
Типы
IPHandlingPolicy
Политика обработки IP-адресов WebRTC.
Перечисление
"по умолчанию" "default_public_and_private_interfaces" "default_public_interface_only" "disable_non_proxied_udp"
Характеристики
network
Настройки, которые влияют на обработку сетевых подключений Chrome в целом.
Тип
объект
Характеристики
- сетьПрогнозирование включено
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome пытается ускорить просмотр веб-страниц, предварительно разрешая записи DNS и упреждающе открывая соединения TCP и SSL с серверами. Это предпочтение влияет только на действия, выполняемые внутренней службой прогнозирования Chrome. Это не влияет на префекты или предварительные соединения, инициированные веб-страницей. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - webRTCIPHhandlingPolicyХром 48+
Разрешить пользователям указывать компромисс между производительностью мультимедиа и конфиденциальностью, который влияет на то, как будет маршрутизироваться трафик WebRTC и какой объем информации о локальном адресе будет раскрыт. Значение этого предпочтения имеет тип IPHandlingPolicy, по умолчанию —
default
.
services
Настройки, которые включают или отключают функции, требующие сторонних сетевых служб, предоставляемых Google и вашим поставщиком поиска по умолчанию.
Тип
объект
Характеристики
- альтернативныйErrorPagesEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome использует веб-службу для устранения ошибок навигации. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - автозаполнение адреса включено
типы.ChromeSetting <логическое значение>
Хром 70+Если этот параметр включен, Chrome предлагает автоматически заполнять адреса и другие данные форм. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - автозаполнениеCreditCardEnabled
типы.ChromeSetting <логическое значение>
Хром 70+Если этот параметр включен, Chrome предлагает автоматически заполнять формы кредитных карт. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - автозаполнение включено
типы.ChromeSetting <логическое значение>
Устарело с Chrome 70.Используйте Privacy.services.autofillAddressEnabled и Privacy.services.autofillCreditCardEnabled. Это остается для обратной совместимости в этом выпуске и будет удалено в будущем.
Если этот параметр включен, Chrome предлагает автоматически заполнять формы. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - парольСохранениеВключено
типы.ChromeSetting <логическое значение>
Если этот параметр включен, менеджер паролей спросит, хотите ли вы сохранить пароли. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - безопасный просмотр включен
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome делает все возможное, чтобы защитить вас от фишинга и вредоносного ПО. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - SafeBrowsingExtendedReportingEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome будет отправлять в Google дополнительную информацию, когда SafeBrowsing блокирует страницу, например содержимое заблокированной страницы. Значение этого предпочтения является логическим, по умолчанию оно равно
false
. - поискSuggestEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome отправляет текст, который вы вводите в омнибокс, в поисковую систему по умолчанию, которая предоставляет прогнозы веб-сайтов и поисковых запросов, которые, вероятно, являются завершением того, что вы уже набрали. Значение этого предпочтения является логическим, по умолчанию оно равно
true
. - орфографияServiceEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome использует веб-службу для исправления орфографических ошибок. Значение этого предпочтения является логическим, по умолчанию оно равно
false
. - переводServiceEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome предлагает перевести страницы, которые не на языке, который вы читаете. Значение этого предпочтения является логическим, по умолчанию оно равно
true
.
websites
Настройки, определяющие, какую информацию Chrome предоставляет веб-сайтам.
Тип
объект
Характеристики
- adMeasurementEnabled
типы.ChromeSetting <логическое значение>
Хром 111+Если этот параметр отключен, API отчетов об атрибуции и API частного агрегирования деактивируются. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить эти API, только установив значениеfalse
. Если вы попытаетесь установить для этих API значениеtrue
, возникнет ошибка. - doNotTrackEnabled
типы.ChromeSetting <логическое значение>
Хром 65+Если этот параметр включен, Chrome отправляет заголовок «Не отслеживать» (
DNT: 1
) вместе с вашими запросами. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —false
. - FledgeEnabled
типы.ChromeSetting <логическое значение>
Хром 111+Если этот параметр отключен, Fledge API деактивируется. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить для этого API значениеtrue
, это выдаст ошибку. - гиперссылкаAuditingEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome отправляет пинги аудита по запросу веб-сайта (
<a ping>
). Значение этого предпочтения имеет тип boolean, а значение по умолчанию —true
. - защищенныйконтентенаблед
типы.ChromeSetting <логическое значение>
Доступно только в Windows и ChromeOS . Если этот параметр включен, Chrome предоставляет плагинам уникальный идентификатор для запуска защищенного контента. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. - рефереры включены
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome отправляет заголовки
referer
вместе с вашими запросами. Да, имя этого предпочтения не соответствует заголовку с ошибкой. Нет, мы не собираемся это менять. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —true
. типы.ChromeSetting <логическое значение>
Хром 121+Если этот параметр отключен, наборы связанных веб-сайтов деактивируются. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить для этого API значениеtrue
, это выдаст ошибку.- ThirdPartyCookiesРазрешено
типы.ChromeSetting <логическое значение>
Если этот параметр отключен, Chrome блокирует установку файлов cookie сторонними сайтами. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. - темыВключено
типы.ChromeSetting <логическое значение>
Хром 111+Если этот параметр отключен, API тем деактивируется. Значение этого предпочтения имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить для этого API значениеtrue
, это выдаст ошибку.