代码之家  ›  专栏  ›  技术社区  ›  Ky -

在Java中获取用户的默认浏览器

  •  2
  • Ky -  · 技术社区  · 15 年前

    我想知道如何在Java中获取用户的默认Internet浏览器的位置。我怎么能拿到这个?比起浏览器的可执行文件,我更喜欢它作为一个URI。必须跨平台工作。

    3 回复  |  直到 15 年前
        1
  •  7
  •   Pablo Fernandez    15 年前

    你能做的最安全的事就是这样:

    if (Desktop.isDesktopSupported()) 
    {
      Desktop.getDesktop().browse("your url here");
    }
    

    桌面类的更多信息(邮件、打印、编辑等) here

        2
  •  3
  •   camickr    15 年前

    您应该为此使用桌面类。这是将调用默认浏览器的跨平台API。

        3
  •  1
  •   Stephen C    15 年前

    比起浏览器的可执行文件,我更喜欢它作为一个URI。

    从您的评论中,我假设您希望在用户使用他/她的Web浏览器访问您的站点时获得这些信息。如果是这样,答案是信息不可用,除非您可以说服用户安装可信的浏览器插件/插件或运行可信的小程序。

    原因是,如果不受信任的网页能够获取此信息,这将是一种安全漏洞。它揭示了用户个人偏好的信息,并可能使黑客更容易瞄准用户的浏览器并危害其机器。

    最好的方法是查看HTTP请求的useragent头。这可能不准确,但这是用户的perogative。