【问题标题】:Close browser from java code using specific url address使用特定的 url 地址从 java 代码关闭浏览器
【发布时间】:2013-04-07 14:01:09
【问题描述】:

1) 我想使用我的 java 代码中的 url 地址关闭特定的浏览器选项卡。因为它是一个客户端服务器应用程序。我想使用客户端应用程序中的 url 地址关闭浏览器选项卡

服务器端将有一个jar,它将与客户端请求进行通信,并从客户端获取url并根据url地址关闭服务器机器上运行的浏览器。

2) 我也想从我的 java 代码中关闭我的 firefox 或 chrome 浏览器。我不想杀死进程但正常关闭浏览器。

**我需要这个 ubuntu os 的解决方案。

希望得到您的回应。

【问题讨论】:

  • 欢迎来到 StackOverflow。为了使我们能够更好地为您提供帮助,您能否用您自己已经完成的研究来更新您的问题,例如:您尝试过的代码或您查看过的 API 和框架。

标签: java browser using


【解决方案1】:

您必须调用 javascript 从您的 javascode 中关闭客户端的浏览器。 这称为反向 Ajax。您可以通过使用 DWR 框架来实现。 这是一个强大的 API,可帮助您从 Javascipt 调用 Java,反之亦然。

通过使用它,您可以过滤位于特定 URL 上的客户端浏览器。

而且此解决方案不是特定于操作系统的,它适用于每个操作系统平台。

【讨论】:

  • 感谢您的回复。如果我正确理解了您的回复,那么我认为我的问题是从 java jar 文件中关闭浏览器或浏览器选项卡。在那种情况下,我认为我需要类似 close unix 命令来关闭浏览器。我可以终止该进程,但我不想我只想正常关闭浏览器。
  • 不,它将使用 JavaScript 代码来执行,即独立于操作系统。 window.close();
  • 这里我必须从我的 java jar 中关闭浏览器。我无法控制浏览器如何调用 window.close。你有例子吗?
【解决方案2】:

我正在使用以下代码根据登录用户进行过滤。 在那里你必须相应地改变条件。

WebContext webContext = WebContextFactory.get();
Collection<ScriptSession> ss = webContext.getAllScriptSessions();
        for (ScriptSession s : ss) {
            if (s.getAttribute("uname")!=null && s.getAttribute("uname").equals(to)) {
                Util util = new Util(s);
                ScriptBuffer sc= new ScriptBuffer();
                sc.appendScript("window.close()");
                util.addScript(sc);
            }
        }

【讨论】:

  • 再次感谢阿米特。但是当我在我的应用程序中运行这段代码时,我得到了空指针异常,因为 webContext 为空。你知道为什么它会得到空引用吗?
  • 是的,Asraful,你不能直接运行他的代码。您必须在应用程序中包含 DWR jar。请谷歌了解如何使用 DWR。链接在这里。 directwebremoting.org/dwr/index.html
  • 是的,我在运行应用程序之前添加了 dwr.jar。
  • 同时您还必须更改应用程序的配置文件。所有这些都已经存在于提供的链接中
  • 我检查了它的 web 应用程序,但我的应用程序是 java 应用程序而不是 web 应用程序。我也可以在我的 windows java 应用程序中使用它吗?
猜你喜欢
  • 2015-07-02
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
相关资源
最近更新 更多