在java中从当前工作浏览器打开新URL 目前我有一个URL网站,比如说:我在Firefox浏览器中打开了网站,考虑到我的默认浏览器是谷歌浏览器。

在java中从当前工作浏览器打开新URL 目前我有一个URL网站,比如说:我在Firefox浏览器中打开了网站,考虑到我的默认浏览器是谷歌浏览器。,java,Java,现在在java中,我需要用当前工作的浏览器(打开我的网站的firefox)打开一个新的url。当我尝试使用: Desktop desktop = java.awt.Desktop.getDesktop(); URI uri = new java.net.URI(my_new-uRL); desktop.browse(uri); 新的url是在chrome中打开的(因为它是我的默认浏览器)。我不需要这样。因为我的所有会话都在firefox中有效,所以我需要我的代码用相同的firefox浏览器打开

现在在java中,我需要用当前工作的浏览器(打开我的网站的firefox)打开一个新的url。当我尝试使用:

Desktop desktop = java.awt.Desktop.getDesktop();
URI uri = new java.net.URI(my_new-uRL);
desktop.browse(uri);
新的url是在chrome中打开的(因为它是我的默认浏览器)。我不需要这样。因为我的所有会话都在firefox中有效,所以我需要我的代码用相同的firefox浏览器打开新的url。我怎样才能做到


谢谢。

下面是一个应用程序的URL,它有助于实现请求的功能。希望这有帮助


似乎唯一的方法是运行一个以URL作为参数启动Firefox的命令。运行命令的最简单方法是使用Runtime.exec()方法之一:

(有关exec()重载变量的更多信息,请参阅API文档。另外,请检查firefox的cmd参数的格式,我不确定)

这种方法的一个明显缺点是使用到Firefox的硬编码路径。也许,这不是你的问题

更新


嗯。换句话说,首先,它需要以某种方式加载当前正在运行的应用程序的列表。坦白地说,我认为在Java中不容易实现。这取决于操作系统。首先,在Linux中,您可以运行“top”或“ps”之类的程序,并分析输出以查看正在运行的应用程序。在Windows中,它很可能需要调用本机代码(C/C++),使用Win API执行任务(顺便说一句,由于安全原因,它可能会受到限制)。

我知道这是一个非常古老的主题,但在我的工作中遇到了这个要求,我想我会分享解决方案

首先,您需要确定用户正在使用的操作系统和浏览器。 对于您可以使用的操作系统:

String osName = System.getProperty("os.name"); 
String osVersion = System.getProperty("os.version");
对于查找浏览器,这里有一个很好的解释:

我所做的是在java代码中添加以下内容:

String browser = (String)win.eval("getUserAgent();")
在部署小程序的html中:

<head>
    <script>
     function getUserAgent() {
     return navigator.userAgent;
    }
   </script>
对于windows和firefox:

String[] args = new String[] { "firefox", "http://www.google.com" };
Runtime.getRuntime().exec( args );
String[] args = new String[] { "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.google.com" };
Runtime.getRuntime().exec( args ); 
你必须为IE做这件事(chrome不再支持java小程序)
还可以处理windows中路径的异常

您试图从何处执行此代码?嗨..谢谢您的回复。我不需要这样的浏览器选择选项。我需要一个java的方法(代码),它可以找到用户当前使用的浏览器,并使该浏览器自动打开新的url。再次感谢。有什么办法吗?让我看看几个选项。如果我遇到什么事,我会告诉你的。嗨,谢谢你的回复。我不需要这个只为firefox。我需要一种java方式(代码),它可以找到用户当前使用的浏览器,并自动使用相同的浏览器打开新的url(可能是firfox、IE、chrome或其他任何东西)。再次感谢。有什么办法吗?
String[] args = new String[] { "firefox", "http://www.google.com" };
Runtime.getRuntime().exec( args );
String[] args = new String[] { "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.google.com" };
Runtime.getRuntime().exec( args );