chrome.privacy
Description
使用 chrome.privacy
API 来控制 Chrome 中可能影响用户隐私的功能的使用。该 API 依赖于ChromeSetting prototype of the type API 原型来获取和设置 Chrome 的配置。
Permissions
privacy
Chrome 隐私白皮书Chrome Privacy Whitepaper提供了有关此 API 可以控制的功能的背景详细信息。
# Manifest
您必须在扩展程序清单中声明“隐私privacy
”权限才能使用 API。例如:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
# Usage
读取 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
将设置为“controlled_by_other_extensions
”)。 set()
调用将成功,但设置将立即被覆盖。由于这可能令人困惑,因此建议在用户选择的设置实际上并未应用时警告用户。
有关扩展程序控制
ChromeSettings
的能力的完整详细信息可以在chrome.types.ChromeSetting
下找到。
这意味着您应该使用 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.
}
);
# Examples
例如代码,请参阅隐私 API 示例Privacy API samples。
Summary
Types
Properties
Types
IPHandlingPolicy
Chrome 48+
WebRTC 的 IP 处理策略。
TYPE
"default", "default_public_and_private_interfaces", "default_public_interface_only", or "disable_non_proxied_udp"
Properties
network
一般影响 Chrome 处理网络连接的设置。
TYPE
object
PROPERTIES
networkPredictionEnabled
如果启用,Chrome 会尝试通过预先解析 DNS 条目并抢先打开与服务器的 TCP 和 SSL 连接来加速您的网络浏览体验。此首选项仅影响 Chrome 的内部预测服务执行的操作。它不影响网页启动的级长或预连接。此首选项的值是一个布尔值,默认为 true。
webRTCIPHandlingPolicy
types.ChromeSetting<IPHandlingPolicy>
Chrome 48+
允许用户指定媒体性能/隐私权衡,这会影响 WebRTC 流量的路由方式以及暴露多少本地地址信息。此首选项的值属于 IPHandlingPolicy 类型,默认为
default
。
services
启用或禁用需要由 Google 和您的默认搜索提供商提供的第三方网络服务的功能的设置。
TYPE
object
PROPERTIES
alternateErrorPagesEnabled
如果启用,Chrome 会使用网络服务来帮助解决导航错误。此首选项的值是一个布尔值,默认为
true
。autofillAddressEnabled
Chrome 70+
如果启用,Chrome 会自动填写地址和其他表单数据。此首选项的值是一个布尔值,默认为
true
。autofillCreditCardEnabled
Chrome 70+
如果启用,Chrome 会自动填写信用卡表单。此首选项的值是一个布尔值,默认为
true
。autofillEnabled
Deprecated since Chrome 70
请使用
privacy.services.autofillAddressEnabled
和privacy.services.autofillCreditCardEnabled
。这在此版本中保持向后兼容性,将来会被删除。如果启用,Chrome 会自动填写表单。此首选项的值是一个布尔值,默认为
true
。passwordSavingEnabled
如果启用,密码管理器将询问您是否要保存密码。此首选项的值是一个布尔值,默认为
true
。safeBrowsingEnabled
如果启用,Chrome 会尽最大努力保护您免受网络钓鱼和恶意软件的侵害。此首选项的值是一个布尔值,默认为 true。
safeBrowsingExtendedReportingEnabled
如果启用,Chrome 会在安全浏览阻止页面时向 Google 发送其他信息,例如被阻止页面的内容。此首选项的值是一个布尔值,默认为
false
。searchSuggestEnabled
如果启用,Chrome 会将您在多功能框中键入的文本发送到您的默认搜索引擎,该引擎会提供网站和搜索的预测,这些内容可能会完成您目前所键入的内容。此首选项的值是一个布尔值,默认为
true
。spellingServiceEnabled
如果启用,Chrome 会使用网络服务来帮助纠正拼写错误。此首选项的值是一个布尔值,默认为
false
。translationServiceEnabled
如果启用,Chrome 会提供翻译不是您阅读的语言的页面。此首选项的值是一个布尔值,默认为
true
。
websites
确定 Chrome 向网站提供哪些信息的设置。
TYPE
object
PROPERTIES
doNotTrackEnabled
Chrome 65+
如果启用,Chrome 会随您的请求发送“Do Not Track”(DNT:1)标头。此首选项的值为布尔类型,默认值为 false。
hyperlinkAuditingEnabled
如果启用,Chrome 会在网站 () 请求时发送审核 ping。此首选项的值为布尔类型,默认值为 true。
privacySandboxEnabled
Chrome 90+
如果启用,实验性隐私沙盒(Privacy Sandbox)功能将处于活动状态。此首选项的值为布尔类型,默认值为
true
。请注意:随着隐私沙盒功能的具体化,此 API 的架构可能会在未来发生变化。在这种情况下,我们会提前通知。protectedContentEnabled
仅适用于 Windows 和 ChromeOS:如果启用,Chrome 会为插件提供唯一 ID,以便运行受保护的内容。此首选项的值为布尔类型,默认值为
true
。referrersEnabled
如果启用,Chrome 会随您的请求发送引用标头。是的,此首选项的名称与拼写错误的标题不匹配。不,我们不会改变它。此首选项的值为布尔类型,默认值为
true
。thirdPartyCookiesAllowed
如果禁用,Chrome 会阻止第三方网站设置 Cookie。此首选项的值为布尔类型,默认值为 true。
By.一粒技术服务.