搜索引擎

本文档描述了 Firefox 为用户提供的四种主要类型的搜索引擎,使用户能够使用不同的搜索提供商搜索互联网。搜索引擎的类型包括:

  • 应用程序提供的搜索引擎

  • 附加组件搜索引擎

  • OpenSearch 搜索引擎

  • 企业策略引擎

这些都由 名称相似的类 表示,这些类继承自 SearchEngine 类并实现 nsISearchEngine.idl 接口。

应用程序提供的搜索引擎

应用程序提供的搜索引擎是应用程序作为用户区域设置和地区配置的一部分提供给用户的引擎。这些引擎通过托管在远程设置上的 搜索配置 文件进行管理。

附加组件搜索引擎

用户可以将附加组件搜索引擎安装到 Firefox 中。附加组件是由第三方开发者为用户提供的额外功能。

为了定义附加组件搜索引擎,开发者使用 WebExtensions API,特别是 chrome_settings_overrides 清单键。

由于使用了 WebExtensions API 技术,开发者在提到附加组件搜索引擎时会交替使用术语 WebExtension 搜索引擎。

实践

所有版本的 Firefox 都支持附加组件。Firefox 在 Firefox 78 版内部从 OpenSearch 切换到附加组件搜索引擎。我们不再通过 Web 扩展程序发布应用程序提供的搜索引擎,并在 Firefox 126 版(截至 2024 年 4 月 22 日)切换到通过远程设置管理这些引擎。

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 文件。