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

时间:2013-11-04 20:14:38

标签: firefox firefox-addon

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

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

我没有办法同时做两件事。

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

addEngineWithDetails()允许我添加带有模板网址的搜索引擎。但它(显然?)不允许提供建议URL。

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

1 个答案:

答案 0 :(得分:4)

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

可行的方法是使用addEngine(和removeEngine)。

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

  • 使用您喜欢的任何方法构建数据URI(甚至构建完整的XML DOM并对其进行序列化)。
  • 使用数据URI调用addEngine
  • 当用户更改pref时,删除旧引擎,然后构建一个新引擎。