覆盖 Chrome 设置

“设置覆盖”是扩展程序的一种覆盖所选 Chrome 设置的方式。此 API 适用于 Windows 的所有当前 Chrome 版本,适用于 Mac 的 Chrome 56 及更高版本。

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

以下示例展示了如何在扩展程序清单中修改首页搜索服务提供商启动页。Settings API 中使用的网站必须通过 Search Console 进行验证,确认是否与 Chrome 应用商店中的相应项目相关联。请注意,如果您验证对某个网域(例如 http://example.com)的所有权,则可以在您的扩展程序中使用任何子网域或网页(例如 http://app.example.com 或 http://example.com/page.html)。

{
  "name": "My extension",
  ...
  "chrome_settings_overrides": {
    "homepage": "http://www.homepage.com",
    "search_provider": {
        "name": "name.__MSG_url_domain__",
        "keyword": "keyword.__MSG_url_domain__",
        "search_url": "http://www.foo.__MSG_url_domain__/s?q={searchTerms}",
        "favicon_url": "http://www.foo.__MSG_url_domain__/favicon.ico",
        "suggest_url": "http://www.foo.__MSG_url_domain__/suggest?q={searchTerms}",
        "instant_url": "http://www.foo.__MSG_url_domain__/instant?q={searchTerms}",
        "image_url": "http://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": [
          "http://www.moo.__MSG_url_domain__/s?q={searchTerms}",
          "http://www.noo.__MSG_url_domain__/s?q={searchTerms}"
        ],
        "encoding": "UTF-8",
        "is_default": true
    },
    "startup_pages": ["http://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__”。它必须位于网址中第一个“/”之后。

参考

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

  • homepage(字符串)- 可选

    首页的新值。

  • search_provider(对象)- 可选

    搜索引擎

    类型 属性 说明
    string (可选)名称

    向用户显示的搜索引擎的名称。只有在设置了 prepopulated_id 时才能省略此字段。

    string 关键字(可选)

    搜索引擎的多功能框关键字。只有在设置了 prepopulated_id 时才能省略此字段。

    string (可选)favicon_url

    搜索引擎的图标网址。只有在设置了 prepopulated_id 时才能省略此字段。

    string search_url

    搜索引擎使用的搜索网址。

    string (可选)编码

    搜索字词的编码。只有在设置了 prepopulated_id 时才能省略此字段。

    string (可选)suggest_url

    如果省略此项,此引擎将不支持建议。

    string (可选)image_url

    如果省略,则表示此引擎不支持图片搜索。

    string (可选)search_url_post_params

    search_url 的 post 参数字符串

    string (可选)suggest_url_post_params

    challenge_url 的 post 参数字符串

    string (可选)image_url_post_params

    image_url 的 post 参数字符串

    字符串数组 (可选)alternate_urls

    除了 |search_url| 之外,您还可以使用一系列可供使用的网址格式。

    integer (可选)prefilled_id

    Chrome 中内置搜索引擎的 ID。

    boolean is_default

    指定是否应默认搜索引擎。

  • startup_pages(字符串数组)- 可选

    一个长度为 1 的数组,其中包含将用作启动页的网址。