chrome.types

说明

chrome.types API 包含 Chrome 的类型声明。

Chrome 浏览器设置

ChromeSetting 类型提供了一组常用的函数(get()set()clear()) 以及 Chrome 浏览器设置的事件发布者 (onChange)。代理设置 示例演示了这些函数的预期用途。

范围和生命周期

Chrome 可区分浏览器设置的三种不同范围:

regular
在“regular”范围内设定的设置会应用于常规浏览器窗口,并且会被无痕模式继承 (如果它们未被覆盖)。这些设置会存储到磁盘中并保持有效,直到 或被管理扩展程序清除,或者管理扩展程序已被停用或卸载。
incognito_persistent
incognito_persistent 范围内设定的设置仅适用于无痕式窗口。对于这类广告 覆盖 regular 设置。这些设置会存储到磁盘中并保持有效状态,直到 或者被管理扩展程序清除,或者管理扩展程序已被停用或卸载。
incognito_session_only
incognito_session_only 范围内设定的设置仅适用于无痕式窗口。对于这类广告 覆盖 regularincognito_persistent 设置。这些设置不会存储到磁盘中, 会在最后一个无痕式窗口关闭时清除。仅当至少包含一个 无痕式窗口已打开。

优先级

Chrome 管理不同图层上的设置。以下列表介绍了可 影响有效设置(按优先顺序由高到低)。

  1. 操作系统提供的系统设置
  2. 命令行参数
  3. 扩展程序提供的设置
  4. 政策

正如该列表所示,政策可能会优先于您通过扩展程序指定的任何更改。您 可以使用 get() 函数来确定您的扩展程序是否能够提供设置 以及此设置是否会被覆盖

如前所述,Chrome 允许对常规窗口和无痕模式使用不同的设置 窗口。以下示例说明了这种行为。假设没有任何政策覆盖 以及扩展程序可针对常规窗口 (R) 和 无痕式窗口 (I)

  • 如果仅设置了 (R),则这些设置对常规窗口和无痕式窗口均有效。
  • 如果仅设置了 (I),这些设置仅对无痕式窗口有效。常规窗口 使用由较低层确定的设置(命令行选项和系统设置)。
  • 如果同时设置了 (R)(I),则会将相应的设置用于常规和无痕模式 窗口。

如果两个或更多扩展程序想要将同一设置设为不同的值,则已安装该扩展程序 最近的一条附加信息优先于其他附加信息。如果最近安装的扩展程序 仅设置 (I),常规窗口的设置可由之前安装的窗口定义 。

设置的有效值是指考虑优先规则而产生的值。它 由 Chrome 使用。

类型

ChromeSetting

允许访问 Chrome 浏览器设置的界面。相关示例请参见 accessibilityFeatures

属性

  • onChange

    事件<functionvoidvoid>

    在设置更改后触发。

    onChange.addListener 函数如下所示:

    (callback: function) => {...}

    • callback

      函数

      callback 参数如下所示:

      (details: object) => void

      • 详细信息

        对象

        • incognitoSpecific

          布尔值(可选)

          更改的值是否特定于无痕会话。 仅当用户在无痕模式下启用扩展程序时,此属性才会显示。

        • levelOfControl

          设置的控制级别。

        • T

          更改后的设置值。

  • 清除

    void

    <ph type="x-smartling-placeholder"></ph> 承诺

    清除设置,恢复任何默认值。

    clear 函数如下所示:

    (details: object, callback?: function) => {...}

    • 详细信息

      对象

      要清除的设置。

    • callback

      函数(可选)

      callback 参数如下所示:

      () => void

    • 返回

      承诺<void>

      Chrome 96 及更高版本

      Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

  • get

    void

    <ph type="x-smartling-placeholder"></ph> 承诺

    获取设置的值。

    get 函数如下所示:

    (details: object, callback?: function) => {...}

    • 详细信息

      对象

      要考虑的设置。

      • 无痕模式

        布尔值(可选)

        是否返回适用于无痕模式会话的值(默认值为 false)。

    • callback

      函数(可选)

      callback 参数如下所示:

      (details: object) => void

      • 详细信息

        对象

        当前有效值的详细信息。

        • incognitoSpecific

          布尔值(可选)

          有效值是否特定于无痕模式会话。 仅当 get()details 参数中的 incognito 属性为 true 时,此属性才会显示。

        • levelOfControl

          设置的控制级别。

        • T

          设置的值。

    • 返回

      Promise&lt;object&gt;

      Chrome 96 及更高版本

      Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

  • set

    void

    <ph type="x-smartling-placeholder"></ph> 承诺

    设定设置的值。

    set 函数如下所示:

    (details: object, callback?: function) => {...}

    • 详细信息

      对象

      要更改哪项设置。

      • 范围

        在何处设置该设置(默认值:常规)。

      • T

        设置的值。 请注意,每项设置都有特定的值类型,我们将与该设置一起描述该值类型。扩展程序不得设置其他类型的值。

    • callback

      函数(可选)

      callback 参数如下所示:

      () => void

    • 返回

      承诺<void>

      Chrome 96 及更高版本

      Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。

ChromeSettingScope

Chrome 44 及更高版本

ChromeSetting 的范围。以下权限之一:

  • regular:常规个人资料的设置(如果未在其他地方替换,则无痕个人资料会继承此设置)
  • regular\_only:仅适用于常规个人资料(而非无痕模式个人资料)的设置,
  • incognito\_persistent:此设置用于在浏览器重启后仍继续有效的无痕式个人资料(覆盖常规偏好设置)。
  • incognito\_session\_only:为无痕模式个人资料指定的设置,只能在无痕式会话期间设置,并且在无痕式会话结束时被删除(覆盖常规和 apigee_persistent 偏好设置)。

枚举

"标准"

"regular_only"

“apigee_persistent”

“audience_session_only”

LevelOfControl

Chrome 44 及更高版本

以下权限之一:

  • not\_controllable:无法由任何扩展程序控制
  • controlled\_by\_other\_extensions:由优先级较高的扩展程序控制
  • controllable\_by\_this\_extension:可由此扩展程序控制
  • controlled\_by\_this\_extension:由此扩展程序控制

枚举

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;