我想添加一个新的搜索引擎,以显示在 Firefox 导航栏中出现的搜索栏的下拉列表中。当用户通过我的扩展程序的首选项设置它时,将其设置为默认搜索引擎。
对于非重启扩展,通过 XUL,我们使用组件来做这样的事情:
Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService).addEngineWithDetails(...); //Adds a new search engine
Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService).currentEngine = ...; //sets the current search engine value.
如何在使用 Firefox addon-sdk 创建的无重启扩展中做类似的事情?我看到的一个问题是没有稳定的 API 来获取和设置“about:config”中列出的 Firefox 首选项。但即使我使用此处记录的不稳定首选项服务,我也无法通过扩展来更改默认搜索引擎。请帮忙!