Url 从XUL应用程序打开浏览器窗口

Url 从XUL应用程序打开浏览器窗口,url,browser,xul,xulrunner,Url,Browser,Xul,Xulrunner,如何从XUL应用程序打开浏览器(如Firefox、Chrome、IE等)窗口 我已经尝试了明显的窗口。open(url,“\u blank”),但唯一的效果是关闭当前的XUL窗口(!)。谷歌的长期拖网也没有产生任何成果 为了清楚起见,我想在用户的默认浏览器中打开一个URL。我不想在XUL应用程序中打开URL。不确定这是否有助于您,但我使用它打开一个新选项卡 var win = Components.classes['@mozilla.org/appshell/window-mediator;1'

如何从XUL应用程序打开浏览器(如Firefox、Chrome、IE等)窗口

我已经尝试了明显的
窗口。open(url,“\u blank”)
,但唯一的效果是关闭当前的XUL窗口(!)。谷歌的长期拖网也没有产生任何成果


为了清楚起见,我想在用户的默认浏览器中打开一个URL。我不想在XUL应用程序中打开URL。

不确定这是否有助于您,但我使用它打开一个新选项卡

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
设置为要打开的页面

更多信息

还要注意,这肯定不会打开IE或Chrome。我很高兴,只要它不打开,即:-)

我就是这样做的:

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);
}

+1-这会带来业务,但用户需要为协议选择适当的应用程序(例如HTTP或HTPPS)。你知道那件事吗?