搜索引擎(已存档)

本文档介绍了 Firefox 向用户提供搜索引擎的三种主要方式,使用户能够使用不同的搜索提供商搜索互联网。Firefox 向用户提供搜索引擎的三种主要方式是通过

  • 附加组件搜索引擎

  • OpenSearch 搜索引擎

  • 企业策略引擎

搜索提供商的一个例子是 Google,它是下面第一部分中描述的附加组件搜索引擎之一。另一个搜索提供商的例子是 Bugzilla,它是下面第二部分中描述的 OpenSearch 搜索引擎。最后,还有企业策略搜索引擎,这将是本文档中描述的第三部分。

附加组件搜索引擎

附加组件是第三方开发者为用户提供的额外功能,用户可以将其安装到 Firefox 中。附加组件机制也被 Firefox 用于分发应用程序提供的搜索引擎。为了定义附加组件搜索引擎,开发者使用 WebExtensions API。由于使用了 WebExtensions API 技术,开发者在提及附加组件搜索引擎时也经常使用 WebExtension 搜索引擎这个术语。

Firefox 提供的附加组件搜索引擎列表及其扩展文件可以在 mozilla-central/browser/components/search/extensions 中找到。在每个附加组件搜索引擎文件夹中,都有一个 manifest.json 文件。该 manifest.json 文件中的一个键是 chrome_settings_overrides,其值是一个对象,描述了如何构建 URL、图像、字符串、图标等。以下是如何在 chrome_settings_overrides 中设置搜索提供商的示例

"chrome_settings_overrides": {
  "search_provider": {
  "name": "Discogs",
  "search_url": "https://www.discogs.com/search/?q={searchTerms}",
  "keyword": "disc",
  "favicon_url": "https://www.discogs.com/favicon.ico"
  }
}

要查看有关语法和属性的更多详细信息,请访问 chrome settings overrides MDN 文档。

实践

所有版本的 Firefox 都支持附加组件。Firefox 在 Firefox 78 版中内部从 OpenSearch 切换到附加组件搜索引擎。附加组件搜索引擎允许 Firefox 开发人员在修改搜索引擎格式方面拥有更大的灵活性和控制权,因为我们支持不同的搜索提供商。

我们通过一个搜索配置文件维护这些附加组件搜索引擎,该文件通过远程设置捆绑和配置。在撰写本文时(2022 年 6 月),我们仅对 Firefox 桌面版使用远程设置管理搜索引擎,而不在 Firefox 桌面版之外使用。

OpenSearch 搜索引擎

OpenSearch 是一种插件,安装在 Firefox 上以增强搜索功能。OpenSearch 有一组格式,描述了如何构建 URL、图像、字符串、图标等。OpenSearch 提供的这些格式允许 Firefox 通过特定的搜索提供商在互联网上进行搜索,而该搜索提供商不是 Firefox 上提供的应用程序提供的搜索引擎。OpenSearch 的目的是提供更便捷和多样化的搜索方式。

OpenSearch 允许用户使用各种未随 Firefox 预装的搜索提供商进行搜索。OpenSearch 的主要优点是它允许网站所有者轻松地为用户提供一种搜索网站的方式。

历史

在 OpenSearch 之前,搜索插件最初是由 Mycroft 项目 创建的,并基于 Sherlock,这是 Apple 创建的文件和 Web 搜索工具。

OpenSearch 协议由 A9.com 于 2005 年创建并推出。OpenSearch 于 2006 年添加到 Firefox 2 版中。截至 2022 年的今天,OpenSearch 是用于共享搜索结果的一组格式。该代码稳定但多年未更改。

有关 OpenSearch 格式的更多信息,请参阅 OpenSearch 文档

自动发现

自动发现是 Firefox 上的一项功能,当用户访问的网页具有搜索插件时,它会自动通知用户。

以下是从 Bugzilla 自动发现的一个示例。您可以访问 https://bugzilla.mozilla.org,Firefox 将自动检测该网站是否提供了搜索插件。在结果下拉列表中,您可以查看底部的搜索引擎快捷方式部分,它将在 Bugzilla 搜索图标上显示一个绿色的加号。绿色的加号表示用户可以将 Bugzilla 添加为 OpenSearch 搜索引擎。用户将 Bugzilla 添加为 OpenSearch 搜索引擎后,绿色的加号图标将消失。用户现在可以点击 Bugzilla 图标直接在 bugzilla.mozilla.org 上进行搜索。

Image of the address bar input showing a URL
Image of the address bar input showing a URL

有关自动发现的更多信息,请参阅 自动发现 MDN 文档

企业策略引擎

企业策略是企业或公司为 Firefox 浏览器设置的可自定义配置,这些企业或公司希望为其用户分发配置。企业策略的理念是允许公司自定义 Firefox 以及用户如何根据预定义的配置更改 Firefox 的使用方式。

企业策略引擎是公司通过设置企业策略在 Firefox 上为其用户添加的搜索引擎。在此 企业策略文档 中,概述了使用 Firefox ESR(扩展支持版本)的企业可用的不同选项以及在添加、更新或删除搜索引擎方面可用的内容。公司可以使用该策略来定义其 Firefox ESR 上可用的搜索引擎。

有关企业策略模板和可用配置规则的更多信息,请参阅 policy-templates

配置

在实践中,公司可以通过不同的方式指定其策略,具体取决于其机器所处的操作系统。管理员可以在服务器上配置策略,当用户登录时,这些配置会自动推送到用户的 Firefox。

对于 Windows,使用 GPO(组策略对象)Intune(Microsoft Endpoint Manager) 设置策略。对于 macOS,创建 配置文件。对于通用情况,有一个 JSON 文件来描述策略。

设置这些配置后,Firefox 会将配置作为输入并将其转换为 Firefox 可以使用的设置。

企业策略的假设使用场景

银行行业公司可能需要对用户进行更严格的安全控制,而不希望用户在未经公司知情的情况下在 Firefox 上执行任何操作。公司禁用 Firefox 的隐私浏览模式可能是有意义的。

在特定公司内,财务部门的员工可以使用 Firefox ESR 版本。在这种情况下,我们将财务部门视为 Firefox 用户,而不是将个人员工视为 Firefox 用户。该部门通过企业策略为使用 Firefox 浏览器的个人做出选择。

企业策略中的功能

所有 Firefox 版本都必须遵守企业策略,但企业策略可能对未在公司使用 Firefox ESR 的个人无效。有一些特定于企业的特性仅在 ESR 中可用。这些特性允许配置搜索引擎,允许使用未签名的扩展,安装搜索引擎以及设置默认搜索引擎。

如何在 Firefox 中设置和使用企业策略

安装 ESR 版本的 Firefox,因为快速发布版不支持企业策略。然后,创建位于 https://github.com/mozilla/policy-templates 中 README.md 内的 JSON 文件。其中包含有关如何配置和使用策略的说明。创建包含适当设置的 JSON 后,将 JSON 文件放到 README.md 中概述的目录中,Firefox 将找到它,并使用该策略打开和运行。

创建 JSON 文件时,通常会犯一些常见的格式错误。可以使用 JSON 验证器(例如 https://jsonlint.com/)验证 JSON 文件。