从 Java 6u13 中的 Java WebStart (JNLP) 启动浏览器窗口;

发布于 2024-07-27 00:41:02 字数 458 浏览 3 评论 0原文

Java 6u13 和 6u14 中存在一个错误。 https://bugs.java.com/bugdatabase/view_bug?bug_id=6835450

简单地说,以下代码应该打开一个浏览器窗口,但由于框架中的错误,它在 Java 1.6 update 13 中停止工作。不再打开任何内容。 Java 小程序也存在类似的错误(已在更新 14 中修复),但该错误在 Java WebStart/JNLP 的更新 14 中仍然存在。

getAppletContext().showDocument(new URL("http://www.sun.com"),"_blank");

您知道有什么解决方法吗?

There is a bug in Java 6u13 and 6u14.
https://bugs.java.com/bugdatabase/view_bug?bug_id=6835450

Simply put, the following code is supposed to open a browser window, but because of a bug in the framework, it stopped working in Java 1.6 update 13. Nothing opens anymore. There was a similar bug for Java applets (that was fixed in update 14), but this one still exists in update 14 for Java WebStart/JNLP.

getAppletContext().showDocument(new URL("http://www.sun.com"),"_blank");

Do you know of any workarounds?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冷清清 2024-08-03 00:41:02

我还没有在 JNLP 中尝试过,但通常这应该有效:

java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));

I've not tried it in JNLP, but normally this should work:

java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));
泅渡 2024-08-03 00:41:02

BasicService.showDocument 有效吗? 我不记得这是如何立即实现的。

或者,使用 LiveConnect 自己执行 JavaScript(尽管可能会遇到相同的问题)。

Does BasicService.showDocument work? I can't remember how that is implemented off hand.

Alternatively, use LiveConnect to execute JavaScript yourself (although that might run into the same problems).

浅唱ヾ落雨殇 2024-08-03 00:41:02
public boolean openUrl(final URL url) {
    try {
        // Lookup the javax.jnlp.BasicService object
        BasicService bs = (BasicService)javax.jnlp.ServiceManager.lookup("javax.jnlp.BasicService");
        // Invoke the showDocument method
        return bs.showDocument(url);
    } catch(UnavailableServiceException ue) {
        // Service is not supported
        log.log(Level.WARNING, "Could not open URL " + url, ue);
        return false;
    }       
}
public boolean openUrl(final URL url) {
    try {
        // Lookup the javax.jnlp.BasicService object
        BasicService bs = (BasicService)javax.jnlp.ServiceManager.lookup("javax.jnlp.BasicService");
        // Invoke the showDocument method
        return bs.showDocument(url);
    } catch(UnavailableServiceException ue) {
        // Service is not supported
        log.log(Level.WARNING, "Could not open URL " + url, ue);
        return false;
    }       
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文