如何从XUL应用程序中打开浏览器(即Firefox,Chrome,IE等)窗口?
我尝试了明显的window.open(url, "_blank")
,但唯一的效果就是关闭当前的XUL窗口(!)。长期拖延谷歌并没有产生任何丰硕成果。
为了清楚说明,我想要的是在用户的默认浏览器中打开一个URL。我不想在我的XUL应用程序中打开URL。
答案 0 :(得分:1)
不确定这是否对您有所帮助,但我使用它来打开新标签页。
var win = Components.classes['@mozilla.org/appshell/window-mediator;1']
.getService(Components.interfaces.nsIWindowMediator)
.getMostRecentWindow('navigator:browser');
win.gBrowser.selectedTab = win.gBrowser.addTab(myUrl);
您需要将myURL
设置为您要打开的页面。
更多信息here
另请注意,这肯定不会打开IE或Chrome。只要不打开IE,我就很满意: - )
答案 1 :(得分:1)
这就是我的所作所为:
function OpenInDefaultBrowser(uri)
{
if(typeof uri == 'string')
{
var ioservice = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
uri = ioservice.newURI(uri, null, null);
}
// Open URL in user's default browser.
var extps = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
.getService(Components.interfaces.nsIExternalProtocolService);
extps.loadURI(uri, null);
}