什么是 Chrome flag?

启用其他调试工具,或试用新功能或实验性功能。

Chrome 标志是一种用于启用默认情况下不可用的浏览器功能的方法。

例如,Chrome 希望先让用户试用画中画视频功能,然后再面向所有用户发布。

借助 Chrome 画中画功能,用户可以在一个标签页中继续观看视频,同时在另一个标签页中处理工作。

该功能是在标记之后提供的,因此任何用户都可以试用并提供反馈。我们根据反馈对代码和设计进行了测试和优化,现在您可以在 Chrome 中默认使用画中画功能,该功能运行良好。

了解相关风险

大多数 Chrome 用户永远都不需要使用 Chrome 标志

如果您确实要设置 Chrome 标志,则需要多加注意。启用或停用某些功能可能会丢失数据,或者危及您的安全或隐私,并且您使用标志切换的功能可能会停止运行或移除,恕不另行通知。

如果您是企业 IT 管理员,则不应在正式版中使用 Chrome 标志。您不妨改为查看企业政策

...因此请谨慎行事

尽管如此,如果您是需要试用新技术的 Web 开发者,或者只是好奇的极客,那么了解 Chrome 标志还是非常值得的。

有许多不同类型的功能对应的标志。有些标志会影响 Chrome 的外观或运作方式,有些标志会启用新 JavaScript API 等功能。标志的可用性取决于您运行的 Chrome 版本。

您可以通过以下两种方式设置 Chrome 标志:

  • chrome://flags 页面。
  • 通过在终端的命令行中打开 Chrome。

chrome://flags

如需在 Chrome 的 chrome://flags 页面中设置标志,您需要找到该标志,切换该标志的设置,然后重新启动浏览器。例如,如需为性能指标启用 Chrome 的平视显示屏,请执行以下操作:

  1. 搜索相应功能。 chrome://flags 页面,其中 HUD 标志已设为默认。

  2. 将值设置为启用已启用 HUD flag 的 chrome://flags 页面。

  3. 重新启动 Chrome。 更新标志后,Chrome 会提示您重新启动浏览器。

现在,您可以使用平视显示功能,其中会显示与网页性能相关的技术信息。

已启用平视显示屏的 Chrome 页面。

命令行标志

如果您是 Web 开发者,不妨通过在终端的命令行中打开 Chrome 来设置标志。您可以运行该命令来打开 Chrome,然后添加要设置的标志。与 chrome://flags 页面中提供的设置相比,您可以从命令行配置更多的 Chrome 设置。

例如,如需在 Mac 上的终端中运行 Chrome Canary,并启用 Topics API 并将纪元长度设为 15 秒,请使用以下命令:

/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary
--enable-features=BrowsingTopics:time_period_per_epoch/15s,PrivacySandboxAdsAPIsOverride,PrivacySandboxSettings3,OverridePrivacySandboxSettingsLocalTesting  

这只是一个示例!还有数百个其他标志,用于启用、停用和配置不太为人所知的功能。

如果您经常使用带有命令行标志的不同 Chrome 渠道,则可能需要为每个渠道创建一个函数,并将这些函数添加到 shell RC 文件中。例如,在 macOS 上:

  1. 打开终端。
  2. 创建函数:cf(){ open -a 'Google Chrome Canary' --args $*; }
  3. 使用函数:cf --enable-features=TrackingProtection3pcd

设置 Chrome 用户数据目录

在 Chrome 工程语言中,Chrome 用户是指“Chrome 的个人用户”。

Chrome 客户端是指在设备上安装 Chrome 的单个客户端。

更确地说,Chrome 客户端对应于单个用户数据目录。每个 Chrome 个人资料都存储在用户数据目录下的子目录中。

如果您从命令行运行 Chrome,可以使用 --user-data-dir flag 设置用户数据目录。

这意味着,您可以为开发创建一个单独的用户数据目录,并在其中包含自己的配置文件子目录。创建新的用户数据目录后,Chrome 的行为会像刚安装一样,这有助于调试与配置文件相关的问题。

如需使用新的临时用户目录从命令行运行 Chrome,请使用以下标志:

--user-data-dir=$(mktemp -d)

您可能还需要添加以下标志,以避免浏览器检查和首次运行界面:

--no-default-browser-check --no-first-run

注意标志冲突

您设置的标志可能会相互冲突。chrome://flags 设置会替换同一标志的命令行设置,在某些情况下,chrome://flags 设置的默认值可能会替换您的命令行配置。如果您通过命令行运行 Chrome 时设置的标志未按预期运行,您应查看 chrome://flags 页面。

请注意,chrome://flags 页面上显示的设置不会反映从命令行设置的标志。请改为查看 chrome://version 页面。命令行部分会显示标志设置。

Chrome Canary 中的 chrome://version 页面,其中突出显示了“命令行”部分。

试用实验性功能的另外两种方法

通过切换 chrome://flags#enable-experimental-web-platform-features 标志,您可以启用一系列没有专属标志的实验性功能。新功能的文档将说明何时可以使用此选项。

Chrome Beta 版中,您可以通过切换实验设置并重新启动浏览器,试用精选实验并提供反馈。如需了解详情,请参阅在 Chrome 中测试实验性功能

Chrome Beta 版中实验界面的屏幕截图,显示了标签页滚动选项。

哪些功能会带有标志?

并非所有实验性功能都有自己的 Chrome 标志:

  • 某些功能只有在 Chrome Canary 中发布后才会推出,在此之前无法通过标志激活。这种情况非常少见。
  • 对于工作量不超过 1-2 个季度的“较小”功能,可通过启用以下标志提供实验性功能:
    chrome://flags#enable-experimental-web-platform-features
    这会激活多个次要功能。
  • 主要功能可供使用 chrome://flags 或命令行开关搭配特定于该功能的标志进行实验。

Chrome 设置如何?

Chrome 设置和 Chrome 标志的用途不同。

借助 Chrome 标志,用户可以启用或停用实验性功能,而通过 chrome://settings 页面提供的控件,用户可以自定义默认提供的功能的使用体验。

源试用怎么样?

通过源试用,开发者可以对新的或实验性 Web 平台功能进行大规模测试,并在面向所有用户推出新功能之前向 Web 标准社区提供反馈。

在所有为该试用提供有效令牌的网页上,系统都会启用正在进行源代码试用的功能。这样,网站所有者就可以为其所有用户启用实验性功能,而无需用户更改浏览器设置或设置标志。相比之下,Chrome 标志允许个别用户在他们访问的所有网站上启用或停用实验性功能。如需了解详情,请参阅 Chrome 源试用入门

了解详情