“设置覆盖”是扩展程序的一种覆盖所选 Chrome 设置的方式。该 API 适用于 Windows 和 Mac 的所有当前版本的 Chrome。
首页、搜索服务提供商和启动页
以下示例说明了如何在扩展程序清单中修改首页、搜索提供方和启动页。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_provider
、homepage
和startup_pages
属性的所有值都可以使用chrome.i18n
API 进行本地化。对于外部扩展程序,可以使用注册表项对
search_provider
、homepage
和startup_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
(字符串数组,可选)- 一个长度为 1 的数组,其中包含将用作启动页的网址。
suggest_url
(字符串,可选)- 搜索引擎用于获取建议的网址。如果未使用此属性,则引擎不支持建议。
suggest_url_post_params
(字符串,可选)suggest_url
的 post 参数。