我想从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。)
答案 0 :(得分:1)
您无法在私人窗口AFAIK中使用新网址真正启动Firefox。 -private-window <url>
会打开一个新的私人窗口,但仍会将新标签放在常规窗口中。
可以使用chrome --incognito <url>
启动Chrome,但是您需要通过nsIProcess
自行启动它,因此首先必须弄清楚chrome二进制文件的位置。
如果您可以保证默认处理程序是Chrome,那么您可以使用nsIExternalProtocolService.getProtocolHandlerInfo()
,使用preferredApplicationHandler
和QueryInterface
nsILocalHandlerApp
来查找.executable
}。否则,您将不得不自己处理操作系统和/或已知路径。