如何从XUL应用程序打开浏览器(即Firefox,Chrome,IE等)窗口?从XUL应用程序打开浏览器窗口
我试过了明显的window.open(url, "_blank")
,但是唯一的影响是关闭当前的XUL窗口(!)。 Google长时间的拖网也没有产生任何成果。
只是为了说清楚,我想要的是在用户的默认浏览器中打开一个URL。我不想在我的XUL应用程序中打开URL。
如何从XUL应用程序打开浏览器(即Firefox,Chrome,IE等)窗口?从XUL应用程序打开浏览器窗口
我试过了明显的window.open(url, "_blank")
,但是唯一的影响是关闭当前的XUL窗口(!)。 Google长时间的拖网也没有产生任何成果。
只是为了说清楚,我想要的是在用户的默认浏览器中打开一个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
设置为您要打开的页面。
更多信息here
另外请注意,这必将无法打开IE或Chrome。我很高兴,只要它不打开IE :-)
这是我做的:
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)。你知道吗? –