覆盖 Chrome 设置

设置覆盖是扩展程序覆盖所选 Chrome 设置的一种方式。API 是 。

首页、搜索服务提供商和启动页

下面的示例展示了如何修改首页搜索服务提供商启动页扩展程序清单中。Settings API 中使用的任何网域都必须经过验证(通过 Google Search Console)。请注意,如果 验证对某个网域(例如 https://example.com)的所有权 可以使用任何子网域或网页 (例如 https://app.example.com 或 https://example.com/page.html)。

如果使用设置覆盖权限来请求获取任何其他功能或权限,这不符合我们的单一用途政策。当 Chrome 检测到某项内容可能违反了我们的单一用途政策时,会向用户显示确认对话框。只修改某项设置而不寻求其他功能或权限的扩展程序不会显示确认对话框。

这适用于 Chrome 107 及更高版本。

{
  "name": "My extension",
  ...
  "chrome_settings_overrides": {
    "homepage": "https://www.homepage.com",
    "search_provider": {
        "name": "name.__MSG_url_domain__",
        "keyword": "keyword.__MSG_url_domain__",
        "search_url": "https://www.foo.__MSG_url_domain__/s?q={searchTerms}",
        "favicon_url": "https://www.foo.__MSG_url_domain__/favicon.ico",
        "suggest_url": "https://www.foo.__MSG_url_domain__/suggest?q={searchTerms}",
        "instant_url": "https://www.foo.__MSG_url_domain__/instant?q={searchTerms}",
        "image_url": "https://www.foo.__MSG_url_domain__/image?q={searchTerms}",
        "search_url_post_params": "search_lang=__MSG_url_domain__",
        "suggest_url_post_params": "suggest_lang=__MSG_url_domain__",
        "instant_url_post_params": "instant_lang=__MSG_url_domain__",
        "image_url_post_params": "image_lang=__MSG_url_domain__",
        "alternate_urls": [
          "https://www.moo.__MSG_url_domain__/s?q={searchTerms}",
          "https://www.noo.__MSG_url_domain__/s?q={searchTerms}"
        ],
        "encoding": "UTF-8",
        "is_default": true
    },
    "startup_pages": ["https://www.startup.com"]
   },
   "default_locale": "de",
   ...
}

自定义值

可以通过以下方式自定义清单中的值:

  • search_providerhomepagestartup_pages 属性的所有值都可以本地化 使用 chrome.i18n API
  • 对于外部扩展程序search_providerhomepagestartup_pages 网址值可以 并使用注册表项参数化。在 "update_url" 键(请参阅此处的说明)。键名为 "install_parameter",值为 是任意字符串:

    {
      "update_url": "https://clients2.google.com/service/update2/crx",
      "install_parameter": "Value"
    }
    

    清单网址中出现的子字符串 "__PARAM__" 都将替换为 "install_parameter" 值。如果 "install_parameter" 不存在,则 "__PARAM__" 的出现次数为 已移除。请注意,"__PARAM__" 不能是主机名的一部分。它必须在 第一个“/”。

参考

扩展程序可以替换清单中的以下一个或多个属性:

alternate_urls(字符串数组,可选)
search_url. 之外可以使用的网址格式列表
encoding(字符串,可选)
用于搜索字词的编码。如果您不设置 prepopulated_id,则必须提供此值。
favicon_url(字符串,可选)
搜索引擎的图标网址。如果您不设置 prepopulated_id,则必须提供此值。
homepage(字符串,可选)
首页的新值。
image_url(字符串,可选)
搜索引擎用于图片搜索的网址。如果不指定此属性,则表示相应引擎不支持图片搜索。
image_url_post_params(字符串,可选)
image_url 的 post 参数。
is_default(布尔值,必需)
指定是否应将搜索服务提供商设为默认搜索服务提供商。
keyword(字符串,可选)
搜索引擎的多功能框关键字。如果您不设置 prepopulated_id,则必须提供此值。
name(字符串,可选)
向用户显示的搜索引擎的名称。如果您不设置 prepopulated_id,则必须提供此值。
prepopulated_id(整数,可选)
Chrome 内置搜索引擎的 ID。
search_provider(对象,可选)
搜索引擎。
search_url(字符串,必需)
搜索引擎使用的搜索网址。
search_url_post_params(字符串,可选)
search_url 的 post 参数。
startup_pages(字符串数组,可选)
一个长度数组,包含用作启动页的网址。
suggest_url(字符串,可选)
搜索引擎用于提供建议的网址。如果不指定此设置,则相应引擎不支持提供建议。
suggest_url_post_params(字符串,可选)
suggest_url 的 post 参数。