从Thunderbird扩展程序以private =隐身模式打开浏览器

时间:2013-09-25 16:24:42

标签: thunderbird thunderbird-addon

我想从Thunderbird扩展程序以私有模式打开一个URL。现在,以下代码在“标准”非私有模式下工作:

try {
  var eps = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"].
  getService(Components.interfaces.nsIExternalProtocolService);
  var ios = Components.classes["@mozilla.org/network/io-service;1"].
  getService(Components.interfaces.nsIIOService);
  eps.loadURI(ios.newURI("http://www.example.com", null, null));
} catch (err) {}

知道如何在私人模式下实现相同的结果吗?我有兴趣将Chrome作为默认浏览器启动。 (再次使用上面的代码正确启动Chrome。)

1 个答案:

答案 0 :(得分:1)

您无法在私人窗口AFAIK中使用新网址真正启动Firefox。 -private-window <url>会打开一个新的私人窗口,但仍会将新标签放在常规窗口中。

可以使用chrome --incognito <url>启动Chrome,但是您需要通过nsIProcess自行启动它,因此首先必须弄清楚chrome二进制文件的位置。

如果您可以保证默认处理程序是Chrome,那么您可以使用nsIExternalProtocolService.getProtocolHandlerInfo(),使用preferredApplicationHandlerQueryInterface nsILocalHandlerApp来查找.executable }。否则,您将不得不自己处理操作系统和/或已知路径。