我正在做一个Thunderbird扩展程序,它将在Firefox中获取存储的用户名/密码,并将这些帐户导入Thunderbird。这导致需要nsILoginManager,但我不确定如何使用Thunderbird扩展来实现它。是否可以这样做?
答案 0 :(得分:1)
你几乎不能。除了XPCOM不能在不同的流程中工作外,其复杂性还有:
你能做的最好的事情是:
firefox -url file://foo/bar/extension.xpi
等命令行启动Firefox - 确保Firefox正在运行,并要求用户安装extension.xpi
。它应该是bootstrapped extension,因此不需要重新启动浏览器。nsILoginManager
获取必要的数据(如果用户定义了主密码,则会涉及密码提示)并将其发送回Thunderbird。当然,这远非流畅的用户体验。至于两个扩展(一个在Thunderbird中,另一个在Firefox中)将如何通信 - TCP sockets可能是最简单的方法。 Thunderbird扩展将创建一个服务器套接字并等待Firefox扩展连接到它。