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

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

    types.ChromeSetting

    如果启用,Chrome 会尝试通过预先解析 DNS 条目并抢先打开与服务器的 TCP 和 SSL 连接来加速您的网络浏览体验。此首选项仅影响 Chrome 的内部预测服务执行的操作。它不影响网页启动的级长或预连接。此首选项的值是一个布尔值,默认为 true。

  • webRTCIPHandlingPolicy

    types.ChromeSetting<IPHandlingPolicy>

    Chrome 48+

    允许用户指定媒体性能/隐私权衡,这会影响 WebRTC 流量的路由方式以及暴露多少本地地址信息。此首选项的值属于 IPHandlingPolicy 类型,默认为 default

services

启用或禁用需要由 Google 和您的默认搜索提供商提供的第三方网络服务的功能的设置。

TYPE

object

PROPERTIES

  • alternateErrorPagesEnabled

    types.ChromeSetting

    如果启用,Chrome 会使用网络服务来帮助解决导航错误。此首选项的值是一个布尔值,默认为 true

  • autofillAddressEnabled

    types.ChromeSetting

    Chrome 70+

    如果启用,Chrome 会自动填写地址和其他表单数据。此首选项的值是一个布尔值,默认为 true

  • autofillCreditCardEnabled

    types.ChromeSetting

    Chrome 70+

    如果启用,Chrome 会自动填写信用卡表单。此首选项的值是一个布尔值,默认为 true

  • autofillEnabled

    types.ChromeSetting

    Deprecated since Chrome 70

    请使用privacy.services.autofillAddressEnabledprivacy.services.autofillCreditCardEnabled。这在此版本中保持向后兼容性,将来会被删除。

    如果启用,Chrome 会自动填写表单。此首选项的值是一个布尔值,默认为 true

  • passwordSavingEnabled

    types.ChromeSetting

    如果启用,密码管理器将询问您是否要保存密码。此首选项的值是一个布尔值,默认为 true

  • safeBrowsingEnabled

    types.ChromeSetting

    如果启用,Chrome 会尽最大努力保护您免受网络钓鱼和恶意软件的侵害。此首选项的值是一个布尔值,默认为 true。

  • safeBrowsingExtendedReportingEnabled

    types.ChromeSetting

    如果启用,Chrome 会在安全浏览阻止页面时向 Google 发送其他信息,例如被阻止页面的内容。此首选项的值是一个布尔值,默认为 false

  • searchSuggestEnabled

    types.ChromeSetting

    如果启用,Chrome 会将您在多功能框中键入的文本发送到您的默认搜索引擎,该引擎会提供网站和搜索的预测,这些内容可能会完成您目前所键入的内容。此首选项的值是一个布尔值,默认为 true

  • spellingServiceEnabled

    types.ChromeSetting

    如果启用,Chrome 会使用网络服务来帮助纠正拼写错误。此首选项的值是一个布尔值,默认为 false

  • translationServiceEnabled

    types.ChromeSetting

    如果启用,Chrome 会提供翻译不是您阅读的语言的页面。此首选项的值是一个布尔值,默认为 true

websites

确定 Chrome 向网站提供哪些信息的设置。

TYPE

object

PROPERTIES

  • doNotTrackEnabled

    types.ChromeSetting

    Chrome 65+

    如果启用,Chrome 会随您的请求发送“Do Not Track”(DNT:1)标头。此首选项的值为布尔类型,默认值为 false。

  • hyperlinkAuditingEnabled

    types.ChromeSetting

    如果启用,Chrome 会在网站 () 请求时发送审核 ping。此首选项的值为布尔类型,默认值为 true。

  • privacySandboxEnabled

    types.ChromeSetting

    Chrome 90+

    如果启用,实验性隐私沙盒(Privacy Sandbox)功能将处于活动状态。此首选项的值为布尔类型,默认值为 true。请注意:随着隐私沙盒功能的具体化,此 API 的架构可能会在未来发生变化。在这种情况下,我们会提前通知。

  • protectedContentEnabled

    types.ChromeSetting

    仅适用于 Windows 和 ChromeOS:如果启用,Chrome 会为插件提供唯一 ID,以便运行受保护的内容。此首选项的值为布尔类型,默认值为 true

  • referrersEnabled

    types.ChromeSetting

    如果启用,Chrome 会随您的请求发送引用标头。是的,此首选项的名称与拼写错误的标题不匹配。不,我们不会改变它。此首选项的值为布尔类型,默认值为 true

  • thirdPartyCookiesAllowed

    types.ChromeSetting

    如果禁用,Chrome 会阻止第三方网站设置 Cookie。此首选项的值为布尔类型,默认值为 true。

By.一粒技术服务.

results matching ""

    No results matching ""