Firefox-Addon:添加具有不同 URL 和建议的搜索引擎

标签 firefox firefox-addon

我的 Firefox 插件应添加一个搜索引擎,即

  • 提供建议
  • 获取运行时指定的搜索模板 URL(即:模板 URL 取决于用户的首选项)

而且我没有找到同时完成这两件事的方法。

我看到两个添加搜索引擎的选项:

addEngineWithDetails() 允许我使用模板 URL 添加搜索引擎。但它(显然?)不允许提供建议 URL。

addEngine() 允许我添加在 XML 文件中指定的搜索引擎。但是,如果该文件本地保存在我的插件目录中(例如 chrome://example-engine/content/search.xml),如何在运行时更改模板 URL?使用在线 XML 是一种不安全的选择,因为在插件安装过程中互联网连接可能会中断或损坏。

最佳答案

首先,你是对的,addEngineWithDetails 不支持建议。

正确的方法是使用 addEngine (和removeEngine)。

至于你的问题的“动态”部分:虽然我没有测试它,但实现似乎很愉快accept data: URIs 。所以你可以:

  • 使用您喜欢的任何方法构建数据 URI(甚至构建完整的 XML DOM 并将其序列化)。
  • 使用数据 URI 调用 addEngine
  • 当用户更改首选项时,删除旧引擎并构建新引擎。

关于Firefox-Addon:添加具有不同 URL 和建议的搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776271/

相关文章:

javascript - Firefox 网站如何突出显示导航栏上的项目?

css - 有没有办法强制 IE 或 FF 进入手持模式以测试 "@media handheld"样式表?

firefox - 将 Firefox 扩展限制为特定域

javascript - Firefox 插件 : Load URI Event

performance - 为什么firefox在下载文档之前会阻止?

firefox - 旧版 FireFox 中的文本阴影

javascript - 对于在 Firefox 中具有状态代码 408 的 XHR,状态代码、文本和所有响应 header 均为空

javascript - localStorage 无法在其他主机上工作 - javascript

javascript - 使用来自 getschema.org IOT 的 JSON 数据获取 "thing"名称

c++ - 我的 Firefox 扩展不工作。使用 C++ XPCOM 组件的 Firefox 扩展(XPI 文件)的结构是什么?